質問

Glassfishの新しいインストールを使用しており、カスタマイズはほとんどありません。

トピックをリッスンし、データベースで受信したオブジェクトを更新するメッセージ駆動型Bean(ObjectUpdateMDB)があります。更新されているオブジェクトがたくさんあります。しばらく実行すると、次の例外が発生します。

SEVERE: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [rollback] operation.
SEVERE: MDB00049: Message-driven bean [Persistence:ObjectUpdateMDB]: Exception in postinvoke : [javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [rollback] operation.  vmcid: 0x0  minor code: 0  completed: No]
SEVERE: javax.transaction.SystemException
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [rollback] operation.  vmcid: 0x0  minor code: 0  completed: No
    at com.sun.jts.jta.TransactionManagerImpl.rollback(TransactionManagerImpl.java:350)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.rollback(J2EETransactionManagerImpl.java:1144)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.rollback(J2EETransactionManagerOpt.java:426)
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3767)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
    at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
    at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
    at $Proxy98.afterDelivery(Unknown Source)
    at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)

INFO: MDB00037: [Persistence:ObjectUpdateMDB]: Message-driven bean invocation exception: [java.lang.OutOfMemoryError: Java heap space]
INFO: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError: Java heap space

ヒープスペースの問題のようです。ヒープスペースを調整する必要があるのは何ですか? App Server自体またはブローカー?どうすればいいですか?

役に立ちましたか?

解決

Glassfishインストールにより多くのRAMを割り当てる必要があります。

http://spaquet.blogspot.com/2006/07/liferay-glassfish-part-ii-configuring.html

and http://docs.sun.com/app/docs/doc/820-4495/gepzd?a=view

他のヒント

Glassfish 3.1で問題をソートするには、次の asadmin コマンドを使用しました:

asadmin create-jvm-options --target server-config -- '-XX\:+UnlockExperimentalVMOptions'
asadmin create-jvm-options --target server-config -- '-XX\:+UseG1GC'
asadmin delete-jvm-options --target server-config -- '-Xmx512m'
asadmin create-jvm-options --target server-config -- '-Xmx1024m'
asadmin delete-jvm-options --target server-config -- '-XX\:MaxPermSize=192m'
asadmin create-jvm-options --target server-config -- '-XX\:MaxPermSize=256m'

asadmin create-jvm-options --target default-config -- '-XX\:+UnlockExperimentalVMOptions'
asadmin create-jvm-options --target default-config -- '-XX\:+UseG1GC'
asadmin delete-jvm-options --target default-config -- '-Xmx512m'
asadmin create-jvm-options --target default-config -- '-Xmx1024m'
asadmin delete-jvm-options --target default-config -- '-XX\:MaxPermSize=192m'
asadmin create-jvm-options --target default-config -- '-XX\:MaxPermSize=256m'

これは、Michael Myersヒントのバリエーションです。 asadmin コマンドを使用すると、変更を簡単に繰り返し実行できます。

また、通常のコレクターよりもはるかに優れた新しいG1コレクターに切り替えました。 Eclipseもサポートしています;-)

構文はWindowsのTakeCommandのためのものです。シェルとOSの異なる組み合わせを使用する場合、異なるエスケープ文字が必要になる場合があります(つまり、ほとんどのUNIXシェルではバックティックの代わりに海峡ティック)。

*-jvm-options コマンドでセットアップを台無しにした場合は、 domain.xml ファイルで修正できます。

VMのチューニング。読者に Javaチューニングを指示しています。ホワイトペーパー

とにかく、すぐに答えを得るには、おそらくいくつかの基本設定を調べる必要があります:

-Xms:初期ヒープサイズ

-Xmx:最大ヒープサイズ

これらの簡単な説明を取得するには、java -Xを実行します。

./ alex

これが関連しているかどうかはわかりませんが、XAトランザクションを使用するとCORBA例外が発生する奇妙な例外が発生しました。その理由はMySQLドライバーであり、最新のMySQL JDBCドライバー(5.1.7)にアップグレードすると、これらのXAの問題はなくなりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top