Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.2.0.GA
-
Fix Version/s: EE-3.3.0.GA
-
Component/s: Push Server
-
Labels:None
-
Environment:ICEfaces-EE, ICEpush-EE, EPS(, Tomcat, ActiveMQ)
Description
WARNING: Exception caught on com.icesoft.net.messaging.QueueMessagePublisher$2 Runnable.
com.icesoft.net.messaging.MessageServiceException: Unable to publish object message 'MessagePayload[browserID: 'null', delay: '0', groupName: 'null', notifyBackURI: 'null', pushConfiguration: 'null', pushID: 'null', pushIDList: 'null', pushIDs: 'null', pushIDString: 'null', pushIDStatusMap: '{}', timestamp: '1370019530388', uuid: 'e9222065-77ea-496c-b081-f36143ba6916']' with message type 'Status'.
at com.icesoft.net.messaging.QueueMessagePublisher$6.run(QueueMessagePublisher.java:148)
at com.icesoft.net.messaging.QueueMessagePublisher$2.run(QueueMessagePublisher.java:62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at com.icesoft.net.messaging.MessageServiceClient.getDefaultTopicName(MessageServiceClient.java:197)
at com.icesoft.net.messaging.MessageServiceClient.publish(MessageServiceClient.java:390)
at com.icesoft.net.messaging.QueueMessagePublisher$6.run(QueueMessagePublisher.java:146)
... 9 more
com.icesoft.net.messaging.MessageServiceException: Unable to publish object message 'MessagePayload[browserID: 'null', delay: '0', groupName: 'null', notifyBackURI: 'null', pushConfiguration: 'null', pushID: 'null', pushIDList: 'null', pushIDs: 'null', pushIDString: 'null', pushIDStatusMap: '{}', timestamp: '1370019530388', uuid: 'e9222065-77ea-496c-b081-f36143ba6916']' with message type 'Status'.
at com.icesoft.net.messaging.QueueMessagePublisher$6.run(QueueMessagePublisher.java:148)
at com.icesoft.net.messaging.QueueMessagePublisher$2.run(QueueMessagePublisher.java:62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at com.icesoft.net.messaging.MessageServiceClient.getDefaultTopicName(MessageServiceClient.java:197)
at com.icesoft.net.messaging.MessageServiceClient.publish(MessageServiceClient.java:390)
at com.icesoft.net.messaging.QueueMessagePublisher$6.run(QueueMessagePublisher.java:146)
... 9 more
There seem to have been two issues to this problem. First of all the PushMessageService.setUp() method was being invoked which causes another thread to be used in order for the set-up to be executed. This means that the methods being invoked after this might execute before the JMS connection might have been established. And secondly, the StatusTask of the StatusManager was getting scheduled on the constructor of the StatusManager, possibly before the PushMessageService is set on the StatusManager.
Now the PushMessageService.setUpNow() is used and the StatusTask is scheduled as soon as the PushMessageService is set on the StatusManager.
Marking this one as FIXED.