1

我们收到了一个 JMS 错误,我们没有太多可处理的地方:

org.springframework.jms.UncategorizedJmsException:JMS处理过程中出现未分类异常;嵌套异常是 weblogic.jms.common.JMSException:[JMSClientExceptions:055039]发生系统错误。错误是 java.lang.NullPointerException;嵌套异常是 com.mywebsite.SendMessageSync(ProducerServices.java:131) 处的 java.lang.NullPointerException

    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)

我唯一的线索是代码中的第127行,此错误指示:

原因:weblogic.jms.common.JMSException:[JMSClientExceptions:055039]发生系统错误。错误是 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

这是第 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());          
}       

根据BEA 文档,我们应该就错误 055039 与 BEA 联系,但我想先在这里询问,然后再将其带给他们?

还有一些错误:

引起: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

有任何想法吗?

4

1 回答 1

0

好吧,您的第一步是准确确定哪个引用为空。在执行第 127 行之前,您可以转储第 127 行中使用的每个变量吗?

于 2010-12-28T09:46:25.177 回答