Java WebLogicJMS系统错误

Java WebLogicJMS系统错误,java,spring,jms,weblogic,jmstemplate,Java,Spring,Jms,Weblogic,Jmstemplate,我们遇到了一个JMS错误,但我们没有太多可处理的问题: org.springframework.jms.UncategorizedJmsException: 期间发生未分类的异常 JMS处理;嵌套异常是 weblogic.jms.common.jmscexception:[JMSClientExceptions:055039]A系统 发生错误。错误是 java.lang.NullPointerException;嵌套 例外是 java.lang.NullPointerException 在 co

我们遇到了一个JMS错误,但我们没有太多可处理的问题:

org.springframework.jms.UncategorizedJmsException: 期间发生未分类的异常 JMS处理;嵌套异常是 weblogic.jms.common.jmscexception:[JMSClientExceptions:055039]A系统 发生错误。错误是 java.lang.NullPointerException;嵌套 例外是 java.lang.NullPointerException 在 com.mywebsite.SendMessageSync(ProducerServices.java:131)

我唯一的线索是代码中的行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());          
}       
根据协议,我们应该就错误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
位于weblogic.jms.common.JMSVariableBinder$JMSCorrelationIDVariable.get(JMSVariableBinder.java:127)
位于weblogic.utils.expressions.Expression.evaluateExpr(Expression.java:271)
位于weblogic.utils.expressions.Expression.evaluateExpr(Expression.java:298)
位于weblogic.utils.expressions.Expression.evaluateBoolean(Expression.java:209)
位于weblogic.utils.expressions.Expression.evaluate(Expression.java:167)
位于weblogic.jms.common.JMSSQLFilter$Exp.evaluate(JMSSQLFilter.java:304)
位于weblogic.messaging.common.SQLFilter.match(SQLFilter.java:158)
位于weblogic.messaging.kernel.internal.MessageList.findNextVisible(MessageList.java:274)
位于weblogic.messaging.kernel.internal.QueueImpl.NextFromIteratorRGroup(QueueImpl.java:441)
在weblogic.messaging.kernel.internal.QueueImpl.NextMatchFromIteratorGroup(QueueImpl.java:350)上
位于weblogic.messaging.kernel.internal.QueueImpl.get(QueueImpl.java:233)
位于weblogic.messaging.kernel.internal.QueueImpl.addReader(QueueImpl.java:1069)
在weblogic.messaging.kernel.internal.ReceiveRequestImpl.start(ReceiveRequestImpl.java:178)
在weblogic.messaging.kernel.internal.ReceiveRequestImpl.(ReceiveRequestImpl.java:86)
位于weblogic.messaging.kernel.internal.QueueImpl.receive(QueueImpl.java:820)
位于weblogic.jms.backend.BEConsumerImpl.blockingReceiveStart(BEConsumerImpl.java:1172)
位于weblogic.jms.backend.BEConsumerImpl.receive(BEConsumerImpl.java:1383)
位于weblogic.jms.backend.BEConsumerImpl.invoke(BEConsumerImpl.java:1088)
在weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)中
位于weblogic.messaging.dispatcher.DispatcherImpl.DispatcherAsyncInternal(DispatcherImpl.java:129)
位于weblogic.messaging.dispatcher.DispatcherImpl.dispatcheasync(DispatcherImpl.java:112)
在weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1046)中
位于weblogic.jms.dispatcher.Request.dispatcheasync(Request.java:72)
位于weblogic.jms.frontend.FEConsumer.receive(FEConsumer.java:557)
位于weblogic.jms.frontend.FEConsumer.invoke(FEConsumer.java:806)
在weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)中
位于weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:276)
位于weblogic.messaging.dispatcher.DispatcherServerRef.HandlerRequest(DispatcherServerRef.java:141)
在weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)
位于weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:112)
... 还有两个

有什么想法吗

那么,您的第一步将是准确地找出哪个引用是空的。在执行第127行之前,能否先转储第127行中使用的每个变量?

Hi。我也这么想,但这个错误不容易复制:(
    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