NullPointerException failed to process remote command [message #1724728] |
Thu, 25 February 2016 10:43  |
Eclipse User |
|
|
|
Hi,
I'm using eclipselink 2.5.0 with weblogic 12.1.3, the application works just fine but in the weblogic log a warning pops up. Debugging, I found out that the warning rises when a ServerSession is created and the changeset contains a class provided by a persistence unit configured with the jar-file tag. It only happens when the session is Server type, client type is ok. The problem is in the WriteLockManager class, the descriptor from the changeSet object is null and after 2 attempts to get it is still null and finally when it's used the nullPointerException is thrown.
The warning is the following after finest log configuration:
[EL Warning]: 2016-02-22 20:33:54.367--ServerSession( )--Thread(Thread[pool-5-thread-19,5,Pooled Threads])--java.lang.NullPointerException
at org.eclipse.persistence.internal.helper.WriteLockManager.acquireRequiredLocks(WriteLockManager.java:269)
at org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesFromChangeSet(MergeManager.java:426)
at org.eclipse.persistence.sessions.coordination.MergeChangeSetCommand. (MergeChangeSetCommand.java:82)
at org.eclipse.persistence.internal.sessions.AbstractSession.processCommand(AbstractSession.java:4250)
at org.eclipse.persistence.sessions.coordination.RemoteCommandManager.processCommandFromRemoteConnection(RemoteCommandManager.java:255)
at org.eclipse.persistence.internal.sessions.coordination.broadcast.BroadcastRemoteConnection.processReceivedObject(BroadcastRemoteConnection.java:175)
at org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection.onMessage(JMSTopicRemoteConnection.java:228)
at org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection$JMSOnMessageHelper.run(JMSTopicRemoteConnection.java:491)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[EL Warning]: 2016-02-22 20:33:54.371--ServerSession(825493531)--Thread(Thread[pool-5-thread-19,5,Pooled Threads])--Local Exception Stack:
Exception [EclipseLink-22115] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.RemoteCommandManagerException
Exception Description: Local JMSTopicRemoteConnection[Service[EclipseLinkCommandChannel, f77e6b21-053a-4602-9abf-a75a7175b3da, null], topic jms/EclipseLinkTopic]: failed to process remote command retrieved f
rom message , from Service[EclipseLinkCommandChannel, 17ee2172-4aca-44c9-b97a-719374d92ac7, null], command type MergeChangeSetCommand
Internal Exception: java.lang.NullPointerException
at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorProcessingRemoteCommand(RemoteCommandManagerException.java:210)
at org.eclipse.persistence.internal.sessions.coordination.broadcast.BroadcastRemoteConnection.processReceivedObject(BroadcastRemoteConnection.java:184)
at org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection.onMessage(JMSTopicRemoteConnection.java:228)
at org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection$JMSOnMessageHelper.run(JMSTopicRemoteConnection.java:491)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.eclipse.persistence.internal.helper.WriteLockManager.acquireRequiredLocks(WriteLockManager.java:269)
at org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesFromChangeSet(MergeManager.java:426)
at org.eclipse.persistence.sessions.coordination.MergeChangeSetCommand.executeWithSession(MergeChangeSetCommand.java:82)
at org.eclipse.persistence.internal.sessions.AbstractSession.processCommand(AbstractSession.java:4250)
at org.eclipse.persistence.sessions.coordination.RemoteCommandManager.processCommandFromRemoteConnection(RemoteCommandManager.java:255)
at org.eclipse.persistence.internal.sessions.coordination.broadcast.BroadcastRemoteConnection.processReceivedObject(BroadcastRemoteConnection.java:175)
... 5 more
Any help?
|
|
|
|
|
Re: NullPointerException failed to process remote command [message #1724890 is a reply to message #1724878] |
Fri, 26 February 2016 15:48  |
Eclipse User |
|
|
|
Hi,
I solved the problem. I've define 2 persistence unit and they share the eclipselink topic for cache coordination. So, when the cache coordinator runs, it seems that it takes (i think) one of the 2 defined and run the process, so eventually the classes didnt match the ones defined by the persistence unit. For example, I have class E in persistence unit U but, eventually the cache coordination for class E runs with a session holding the classes of the persistence unit Y.
Finally, the solution was to create a different topic for one of the persistence units, and now the warning is gone.
Thanks.
|
|
|
Powered by
FUDForum. Page generated in 0.04339 seconds