2017-06-06 17 views
0

私の会社には、Oracle WebLogicサーバーにデプロイされたWebアプリケーションがあります。 WebLogic 12cにアップグレードし、アプリケーションをJava 1.5から1.7.0_15にアップグレードする作業を進めています。アプリケーションサーバを起動するときJavaが正しいタイムゾーンを使用していません

、我々は次のエラーを取得しました:私たちは、サーバーの起動パラメータに-Duser.timezone='Canada/Eastern'を追加すると、問題を修正することを

<Jun 6, 2017 12:09:31 PM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application "SIMPLeBDataSource" due to error weblogic.application.ModuleException: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection for datasource 'SIMPLeBDataSource'. The DBMS driver exception was: ORA-00604: error occurred at recursive SQL level 1 
ORA-01882: timezone region not found 

weblogic.application.ModuleException: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection for datasource 'SIMPLeBDataSource'. The DBMS driver exception was: ORA-00604: error occurred at recursive SQL level 1 
ORA-01882: timezone region not found 

     at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:350) 
     at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 
     at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175) 
     at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
     Truncated. see log file for complete stacktrace 
Caused By: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection for datasource 'SIMPLeBDataSource'. The DBMS driver exception was: ORA-00604: error occurred at recursive SQL level 1 
ORA-01882: timezone region not found 

     at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:360) 
     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1320) 
     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1237) 
     at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:240) 
     at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1624) 
     Truncated. see log file for complete stacktrace 
> 

ました。ただし、server logsおよびlog4jログには正しいタイムスタンプが記録されていません。彼らは1時間遅れている。

コードにTimeZone localTimeZone = TimeZone.getDefault();を追加し、localTimeZone.toString()をログに記録し、sun.util.calendar.ZoneInfo[id="GMT-05:00",offset=-18000000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]を取得しました。

東部標準時はGMT-5で現在GMT-4になっているので、指定されたJavaスタートアップパラメータを使用しているようですが、DSTにあるはずです。開始パラメータにDSTを指定する方法はありますか?

答えて

0

設定user.timezoneは正しい手順です。それでも動作しない場合は、最新のjdkにアップグレードしてみてください。たとえば、jdk 7 update 131または141と言います。これがオプションでない場合は、「タイムゾーンアップデータツール」を試してみてください。 http://www.oracle.com/technetwork/java/javase/dst-faq-138158.html

+0

タイムゾーンアップデータツールでこれを修正することはできません。インターネット接続が必要で、このボックスにインターネット接続がないためです。 JDKのアップデートに関しては、公開されていないので、アップデート141をどのように入手するのか少し混乱しています。 – korshyadoo

+0

私はツールをダウンロードしてそれをコピーすることはオプションになると思うだろうが、これまでに試したことはない。 Oracleサポート・サイトにアクセスできる場合は、Update 141を使用できます。 – bubbly

関連する問題