アプリケーションのインストール時に次の問題が発生します。
Worklight Console を使用して .wlapp ファイルをアップロードし、デプロイされたアプリケーションを削除して、同じ .wlapp を再度アップロードしようとしています。
その後、Worklight Console がスタックし、通常のサーバー停止でさえ完了しません。
サーバープロセスを残酷に強制終了して再起動した後、.wlapp をアップロードできます。
インストールされている Worklight Server は v5.0.6 / v5.0.6.1 CE with Derby/Liberty です。
サーバーからのエラーログは次のとおりです。
GADGET_APPLICATIONS WHERE ID = ? から削除 付与された XID : {422, S} , {429, S} . 選択された被害者は XID : 429. [java.lang.String]".; ネストされた例外は org.apache.openjpa.persistence.OptimisticLockException: Unable to get an object lock on "デッドロックのため、ロックを取得できませんでした。ロックと待機のサイクルは次のとおりです: ロック: ROW, GADGET_APPLICATIONS, (2,7) 待機中の XID: {429, S} , WORKLIGHT, SELECT t0.ID, t0.ENFORCE_AUTHENTICITY, t0.ENVIRONMENT_ID, t1.ID, t1.DISP_IN_GALLERY, t1.LAST_UPDATE_TIME, t1.NAME, t0.SERVER_VERSION, t0.VERSION, t0.VERSION_LOCKED FROM GADGET_APPLICATIONS t0 INNER JOIN GADGETS t1 ON t0.GADGET_ID = t1.ID 付与された XID : {422, S} ロック: ROW, GADGET_APPLICATIONS, (2 ,6) 待機中の XID : {422, X} , WORKLIGHT, DELETE FROM GADGET_APPLICATIONS WHERE ID = ? 付与された XID : {422, S} , {429, S} . 選択された犠牲者は XID : 429. [java.lang.String]". org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:285) で.java:120) org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212) org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152) org.springframework.orm. jpa.JpaTemplate.execute(JpaTemplate.java:189) で org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:151) で org.springframework.orm.jpa.JpaTemplate.findByNamedQuery(JpaTemplate.java:343) com.worklight.server.database.api.JpaDaoHelper.executeQuery(JpaDaoHelper.java: ID, t1.DISP_IN_GALLERY, t1.LAST_UPDATE_TIME, t1.NAME, t0.SERVER_VERSION, t0.VERSION, t0.VERSION_LOCKED FROM GADGET_APPLICATIONS t0 INNER JOIN GADGETS t1 ON t0.GADGET_ID = t1.ID 付与された XID : {422, S} ロック : ROW, GADGET_APPLICATIONS, (2,6) 待機中の XID : {422, X} , WORKLIGHT, DELETE FROM GADGET_APPLICATIONS WHERE ID = ? 付与された XID : {422, S} , {429, S} . 選択された犠牲者は XID : 429 です。 org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException (不明なソース) でorg.apache.derby.impl.jdbc.TransactionResourceImpl.handleException (不明なソース) の .impl.jdbc.TransactionResourceImpl.wrapInSQLException (不明なソース) org.apache.derby.impl.jdbc.EmbedConnection で。SelectResultObjectProvider.next(SelectResultObjectProvider.java:99) at org.apache.openjpa.lib.rop.EagerResultList.(EagerResultList.java:35) ... 22 以上 原因: java.sql.SQLException: ロックを取得できませんでしたデッドロックのため、ロックと待機のサイクルは次のとおりです: ロック: ROW, GADGET_APPLICATIONS, (2,7) 待機中の XID: {429, S} , WORKLIGHT, SELECT t0.ID, t0.ENFORCE_AUTHENTICITY, t0.ENVIRONMENT_ID, t1.ID , t1.DISP_IN_GALLERY, t1.LAST_UPDATE_TIME, t1.NAME, t0.SERVER_VERSION, t0.VERSION, t0.VERSION_LOCKED FROM GADGET_APPLICATIONS t0 INNER JOIN GADGETS t1 ON t0.GADGET_ID = t1.ID 付与された XID : {422, S} ロック : ROW , GADGET_APPLICATIONS, (2,6) 待機中の XID : {422, X} , WORKLIGHT, DELETE FROM GADGET_APPLICATIONS WHERE ID = ? 付与された XID : {422, S} , {429, S} . 選択された犠牲者は、org.apache.derby.impl の XID : 429 です。jdbc.SQLExceptionFactory.getSQLException(不明なソース) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(不明なソース) ... 38 原因: エラー 40001: デッドロック、サイクルのためロックを取得できませんでしたロックとウェイターの数は次のとおりです: Lock : ROW, GADGET_APPLICATIONS, (2,7) Waiting XID : {429, S} , WORKLIGHT, SELECT t0.ID, t0.ENFORCE_AUTHENTICITY, t0.ENVIRONMENT_ID, t1.ID, t1.DISP_IN_GALLERY, t1 .LAST_UPDATE_TIME, t1.NAME, t0.SERVER_VERSION, t0.VERSION, t0.VERSION_LOCKED FROM GADGET_APPLICATIONS t0 INNER JOIN GADGETS t1 ON t0.GADGET_ID = t1.ID 付与された XID : {422, S} Lock : ROW, GADGET_APPLICATIONS, (2, 6) 待機中の XID : {422, X} , WORKLIGHT, DELETE FROM GADGET_APPLICATIONS WHERE ID = ? 付与された XID : {422, S} , {429, S} . 選択された被害者は XID : 429 です。org.apache で。