IBM Application Center APK 上传失败
IBM Application Center APK upload failed
我的 IBM Application Center 版本 7.0.0.00-20150729-1801
正在尝试将 App Center 客户端 APK 文件上传到 App Center 控制台。它因错误而失败 - FWLAC0000E:检测到服务器错误。
[8/16/15 23:16:35:510 CDT] 00000129 UploadService I file uploaded
[8/16/15 23:16:52:661 CDT] 00000129 ApplicationSe E {
"id": "223b252a-a3aa-443d-9472-49e413d4af1c",
"message": "FWLAC0000E: A server error was detected.",
"params": [
],
"productVersion": "7.0.0.00-20150729-1801"
}
com.ibm.puremeap.resources.exceptions.SystemException: The field "aclApp" of instance "com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity[ id=unknown ]" contained a null value; the metadata for this field specifies that nulls are illegal.
at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplicationImpl(ApplicationHelper.java:1741)
at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplication(ApplicationHelper.java:1628)
at com.ibm.puremeap.artifacts.Application.create(Application.java:497)
at com.ibm.puremeap.services.ApplicationService.create(ApplicationService.java:154)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:151)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:65)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceLocator(FindResourceMethodHandler.java:235)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:115)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceLocator(FindResourceMethodHandler.java:235)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:115)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)
at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124)
at com.ibm.puremeap.services.RestServlet.service(RestServlet.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
at com.ibm.puremeap.services.RestFilter.doFilter(RestFilter.java:60)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:939)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Caused by: org.apache.openjpa.persistence.InvalidStateException: The field "aclApp" of instance "com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity[ id=unknown ]" contained a null value; the metadata for this field specifies that nulls are illegal.
at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:567)
at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3059)
at org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:808)
at org.apache.openjpa.kernel.SingleFieldManager.preFlushPCs(SingleFieldManager.java:762)
at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:656)
at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3059)
at org.apache.openjpa.kernel.PDirtyState.beforeFlush(PDirtyState.java:39)
at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1075)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2127)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2087)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1858)
at org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:602)
at org.apache.openjpa.kernel.StateManagerImpl.assignField(StateManagerImpl.java:689)
at org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1696)
at com.ibm.ws.persistence.kernel.WsJpaStateManagerImpl.beforeAccessField(WsJpaStateManagerImpl.java:109)
at org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1627)
at com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity.pcGetid(AclAppPrincipalEntity.java)
at com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity.equals(AclAppPrincipalEntity.java:201)
at java.util.ArrayList.contains(ArrayList.java:309)
at com.ibm.puremeap.jpa.entity.AclApplicationEntity.addPrincipal(AclApplicationEntity.java:253)
at com.ibm.puremeap.jpa.entity.AclApplicationEntity.addAccessRightForPrincipal(AclApplicationEntity.java:195)
at com.ibm.puremeap.resources.data.impl.ApplicationHelper.getUpdatedACLOnCreate(ApplicationHelper.java:648)
at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplicationImpl(ApplicationHelper.java:1734)
... 86 more
日志显示这是一个数据库问题,可能是OpenJPA引起的。我怀疑在 Websphere 中使用了错误版本的 OpenJPA。这可以在日志中检测到,例如,如果您在日志中看到一条消息,例如
INFO [server.startup : 2] openjpa.Runtime - Starting OpenJPA 2.x
从 MobileFirst 7.0 及更早版本开始,正确的 OpenJPA 版本必须是 1.2.2,而不是 2.x(2.2.3 或类似版本)。
如果没有为 applicationcenter.war 设置 parentLast 类加载器策略,通常会发生此错误。有关 WAS 完整配置文件,请参阅 step 5 here. For WAS Liberty Profile, see the element <classloader delegation="parentLast"> here.
我的 IBM Application Center 版本 7.0.0.00-20150729-1801
正在尝试将 App Center 客户端 APK 文件上传到 App Center 控制台。它因错误而失败 - FWLAC0000E:检测到服务器错误。
[8/16/15 23:16:35:510 CDT] 00000129 UploadService I file uploaded [8/16/15 23:16:52:661 CDT] 00000129 ApplicationSe E { "id": "223b252a-a3aa-443d-9472-49e413d4af1c", "message": "FWLAC0000E: A server error was detected.", "params": [ ], "productVersion": "7.0.0.00-20150729-1801" } com.ibm.puremeap.resources.exceptions.SystemException: The field "aclApp" of instance "com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity[ id=unknown ]" contained a null value; the metadata for this field specifies that nulls are illegal. at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplicationImpl(ApplicationHelper.java:1741) at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplication(ApplicationHelper.java:1628) at com.ibm.puremeap.artifacts.Application.create(Application.java:497) at com.ibm.puremeap.services.ApplicationService.create(ApplicationService.java:154) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63) at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:151) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:65) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceLocator(FindResourceMethodHandler.java:235) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:115) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceLocator(FindResourceMethodHandler.java:235) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:115) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60) at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207) at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154) at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124) at com.ibm.puremeap.services.RestServlet.service(RestServlet.java:56) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) at com.ibm.puremeap.services.RestFilter.doFilter(RestFilter.java:60) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:939) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881) Caused by: org.apache.openjpa.persistence.InvalidStateException: The field "aclApp" of instance "com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity[ id=unknown ]" contained a null value; the metadata for this field specifies that nulls are illegal. at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:567) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505) at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3059) at org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:808) at org.apache.openjpa.kernel.SingleFieldManager.preFlushPCs(SingleFieldManager.java:762) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:656) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505) at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3059) at org.apache.openjpa.kernel.PDirtyState.beforeFlush(PDirtyState.java:39) at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1075) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2127) at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2087) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1858) at org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:602) at org.apache.openjpa.kernel.StateManagerImpl.assignField(StateManagerImpl.java:689) at org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1696) at com.ibm.ws.persistence.kernel.WsJpaStateManagerImpl.beforeAccessField(WsJpaStateManagerImpl.java:109) at org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1627) at com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity.pcGetid(AclAppPrincipalEntity.java) at com.ibm.puremeap.jpa.entity.AclAppPrincipalEntity.equals(AclAppPrincipalEntity.java:201) at java.util.ArrayList.contains(ArrayList.java:309) at com.ibm.puremeap.jpa.entity.AclApplicationEntity.addPrincipal(AclApplicationEntity.java:253) at com.ibm.puremeap.jpa.entity.AclApplicationEntity.addAccessRightForPrincipal(AclApplicationEntity.java:195) at com.ibm.puremeap.resources.data.impl.ApplicationHelper.getUpdatedACLOnCreate(ApplicationHelper.java:648) at com.ibm.puremeap.resources.data.impl.ApplicationHelper.createApplicationImpl(ApplicationHelper.java:1734) ... 86 more
日志显示这是一个数据库问题,可能是OpenJPA引起的。我怀疑在 Websphere 中使用了错误版本的 OpenJPA。这可以在日志中检测到,例如,如果您在日志中看到一条消息,例如
INFO [server.startup : 2] openjpa.Runtime - Starting OpenJPA 2.x
从 MobileFirst 7.0 及更早版本开始,正确的 OpenJPA 版本必须是 1.2.2,而不是 2.x(2.2.3 或类似版本)。
如果没有为 applicationcenter.war 设置 parentLast 类加载器策略,通常会发生此错误。有关 WAS 完整配置文件,请参阅 step 5 here. For WAS Liberty Profile, see the element <classloader delegation="parentLast"> here.