2016-04-15 6 views
2

私はrhelマシンでTomEE plus 1.7.1を使用しています。 mysqlデータベースにセッションデータを保存する永続ストレージ用のjdbcストアをセットアップしました。 jdbcストアがrhelマシンで動作していません。ファイル内の永続性は機能しません。 以下は私が行った設定です。 /conf/context.xmlでTomEE sesison永続ストレージが動作しない

は、私はTomEEは、以下の内容でスクリプトを起動する必要があり、この

<Manager className="org.apache.catalina.session.PersistentManager" 
     maxIdleBackup="0"> 
    <Store className="org.apache.catalina.session.JDBCStore" 
     connectionURL="jdbc:mysql://dbservername:3306/someName?user=[user]&amp;password=[pass]" 
     driverName="com.mysql.jdbc.Driver" 
     sessionAppCol="app_name" 
     sessionDataCol="session_data" 
     sessionIdCol="session_id" 
     sessionLastAccessedCol="last_access" 
     sessionMaxInactiveCol="max_inactive" 
     sessionTable="TOMCAT_SESSIONS" 
     sessionValidCol="valid_session"/> 
</Manager> 

を追加しました。ライン2はJDBCストア

export JAVA_OPTS="-Djava.awt.headless=true -Dawt.toolkit=sun.awt.HToolkit" 
export CATALINA_OPTS="-Dorg.apache.catalina.session.StandardSession.ACTIVITY_CHECK=true" 
sh catalina.sh start 

に関連しては、MySQLの表に次の作成

created following table 
create table tomcat_sessions (
    session_id  varchar(100) not null primary key, 
    valid_session char(1) not null, 
    max_inactive int not null, 
    last_access bigint not null, 
    app_name  varchar(255), 
    session_data mediumblob, 
    KEY kapp_name(app_name) 
); 

加え、次のエラーが

エラーが観察される/ LIB でのMySQL-コネクタjava.jar観察 -

Apacheでデプロイされたすべてのアプリケーションでこのエラーが発生しています

SEVERE: Error manager.start() 
org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.PersistentManager[/tomee]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5499) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247) 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1898) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.JDBCStore[org.apache.catalina.session.PersistentManager[/tomee]]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.session.PersistentManagerBase.startInternal(PersistentManagerBase.java:864) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 12 more 
Caused by: java.lang.NullPointerException 
     at org.apache.catalina.session.JDBCStore.open(JDBCStore.java:961) 
     at org.apache.catalina.session.JDBCStore.getConnection(JDBCStore.java:893) 
     at org.apache.catalina.session.JDBCStore.startInternal(JDBCStore.java:1064) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 14 more 



SEVERE: Error manager.start() 
org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.PersistentManager[/myAppname1]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5499) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) 
     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) 
     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.JDBCStore[org.apache.catalina.session.PersistentManager[/myAppname1]]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.session.PersistentManagerBase.startInternal(PersistentManagerBase.java:864) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 12 more 
Caused by: java.lang.NullPointerException 
     at org.apache.catalina.session.JDBCStore.open(JDBCStore.java:961) 
     at org.apache.catalina.session.JDBCStore.getConnection(JDBCStore.java:893) 
     at org.apache.catalina.session.JDBCStore.startInternal(JDBCStore.java:1064) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 14 more 



     SEVERE: Error manager.start() 
org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.PersistentManager[/myAppname2]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5499) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) 
     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) 
     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.JDBCStore[org.apache.catalina.session.PersistentManager[/myAppname2]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.session.PersistentManagerBase.startInternal(PersistentManagerBase.java:864) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 12 more 
Caused by: java.lang.NullPointerException 
     at org.apache.catalina.session.JDBCStore.open(JDBCStore.java:961) 
     at org.apache.catalina.session.JDBCStore.getConnection(JDBCStore.java:893) 
     at org.apache.catalina.session.JDBCStore.startInternal(JDBCStore.java:1064) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 14 more 


     SEVERE: Error manager.start() 
org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.PersistentManager[/myAppname3]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5499) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) 
     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083) 
     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.session.JDBCStore[org.apache.catalina.session.PersistentManager[/myAppname3]]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.session.PersistentManagerBase.startInternal(PersistentManagerBase.java:864) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 12 more 
Caused by: java.lang.NullPointerException 
     at org.apache.catalina.session.JDBCStore.open(JDBCStore.java:961) 
     at org.apache.catalina.session.JDBCStore.getConnection(JDBCStore.java:893) 
     at org.apache.catalina.session.JDBCStore.startInternal(JDBCStore.java:1064) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 14 more 

答えて

0

JDBCセッションの永続性を使用してを推奨しません。 Tomcatのマニュアルでさえそれを勧めています。それは不安定で、遅く、エラーを起こしやすいです。

それは何かが間違っているドライバで起こっていると思われる。http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.55/org/apache/catalina/session/JDBCStore.java#961

私はそれが最初のクラスパス上にあることを確認することになります。その後、デバッガにブレークポイントを設定し、実際に何がnullであるかを確認します。

0

私の場合は、間違ったJDBC URL、特にスキームの部分を使用していたためでした。

私が使用:

postgres:// 

psqlのためではなく、JDBC大丈夫です)。正しいものは次のとおりです。

jdbc:postgresql:// 
関連する問題