Weblogic JMS System Error

By : Jeune
Source: Stackoverflow.com
Question!

We're getting a JMS error which we don't have a lot to go with:

org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is weblogic.jms.common.JMSException:[JMSClientExceptions:055039] A system error has occurred. The error is java.lang.NullPointerException; nested exception is java.lang.NullPointerException at com.mywebsite.SendMessageSync(ProducerServices.java:131)

    at com.mywebsite.SendMessageSync(ProducerServices.java:115)

    at com.mywebsite.Producer.sendMessage(FormsCRRProducer.java:56)

    at com.mywebsite.Producer.useNewGetTemplateData(GenerateFormsManagerBean.java:522)                      

    at com.mywebsite.Producer.GenerateFormsManagerBean.doService(GenerateFormsManagerBean.java:114)                                  

    at com.mywebsite.Producer.doServiceWrapper(AbstractManagerBean.java:175)

    at com.mywebsite.Producer.doServiceRequest(AbstractManagerBean.java:151)

    at com.mywebsite.processcontainer.AbstractServlet.doManagerBeanServiceAndPresentation(AbstractServlet.java:1911)

    at com.mywebsite.processunit.servlet.CportalParamServlet.doService(CportalParamServlet.java:107)

    at com.mywebsite.fw.processcontainer.AbstractServlet.service(AbstractServlet.java:983)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)

    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

    at com.mywebsite.processunit.filter.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:28)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)

    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)

    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)

    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

The only lead I have is line 127 in the code which is indicated by this error:

Caused by: weblogic.jms.common.JMSException: [JMSClientExceptions:055039]A system error has occurred. The error is java.lang.Nul lPointerException

    at weblogic.jms.client.JMSSession.handleException(JMSSession.java:2853)

    at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:629)

    at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:488)

    at weblogic.jms.client.WLConsumerImpl.receive(WLConsumerImpl.java:155)

    at org.springframework.jms.core.JmsTemplate.doReceive(JmsTemplate.java:734)

    at org.springframework.jms.core.JmsTemplate.doReceive(JmsTemplate.java:706)

    at org.springframework.jms.core.JmsTemplate$9.doInJms(JmsTemplate.java:681)

    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:447)

    at org.springframework.jms.core.JmsTemplate.receiveSelected(JmsTemplate.java:679)

    at org.springframework.jms.core.JmsTemplate.receiveSelectedAndConvert(JmsTemplate.java:784)

    at com.mywebsite.jms.service.ProducerServices.SendMessageSync(ProducerServices.java:127)

    ... 25 more

This is line 127:

try {
    Thread.yield();
    //line 127 below
    status=(StatusMessageBean)getJmsTemplate.receiveSelectedAndConvert(statusDestination, "JMSCorrelationID='"+ producerMsg.getProcessID() +"'");
    Thread.yield();
} catch (Exception e) {
    Thread.yield();
    loggingInterface.doErrorLogging(e.fillInStackTrace());          
}       

According to the BEA documentation, we should contact BEA about error 055039 but I would like to try asking here first before bringing this to them?

Some more errors:

Caused by: java.lang.NullPointerException

    at weblogic.jms.common.JMSVariableBinder$JMSCorrelationIDVariable.get(JMSVariableBinder.java:127)

    at weblogic.utils.expressions.Expression.evaluateExpr(Expression.java:271)

    at weblogic.utils.expressions.Expression.evaluateExpr(Expression.java:298)

    at weblogic.utils.expressions.Expression.evaluateBoolean(Expression.java:209)

    at weblogic.utils.expressions.Expression.evaluate(Expression.java:167)

    at weblogic.jms.common.JMSSQLFilter$Exp.evaluate(JMSSQLFilter.java:304)

    at weblogic.messaging.common.SQLFilter.match(SQLFilter.java:158)

    at weblogic.messaging.kernel.internal.MessageList.findNextVisible(MessageList.java:274)

    at weblogic.messaging.kernel.internal.QueueImpl.nextFromIteratorOrGroup(QueueImpl.java:441)

    at weblogic.messaging.kernel.internal.QueueImpl.nextMatchFromIteratorOrGroup(QueueImpl.java:350)

    at weblogic.messaging.kernel.internal.QueueImpl.get(QueueImpl.java:233)

    at weblogic.messaging.kernel.internal.QueueImpl.addReader(QueueImpl.java:1069)

    at weblogic.messaging.kernel.internal.ReceiveRequestImpl.start(ReceiveRequestImpl.java:178)

    at weblogic.messaging.kernel.internal.ReceiveRequestImpl.<init>(ReceiveRequestImpl.java:86)

    at weblogic.messaging.kernel.internal.QueueImpl.receive(QueueImpl.java:820)

    at weblogic.jms.backend.BEConsumerImpl.blockingReceiveStart(BEConsumerImpl.java:1172)

    at weblogic.jms.backend.BEConsumerImpl.receive(BEConsumerImpl.java:1383)

    at weblogic.jms.backend.BEConsumerImpl.invoke(BEConsumerImpl.java:1088)

    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)

    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsyncInternal(DispatcherImpl.java:129)

    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:112)

    at weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1046)

    at weblogic.jms.dispatcher.Request.dispatchAsync(Request.java:72)

    at weblogic.jms.frontend.FEConsumer.receive(FEConsumer.java:557)

    at weblogic.jms.frontend.FEConsumer.invoke(FEConsumer.java:806)

    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)

    at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:276)

    at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:141)

    at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)

    at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:112)

    ... 2 more

Any ideas?

By : Jeune


Answers

Well, your first step would be to figure out exactly which reference was null. Can you dump out each variable used in line 127 before you execute line 127 itself?



This video can help you solving your question :)
By: admin