在weblogic12c中调用javax.jms.QueueSession.createBrowser()时发生javax.jms.InvalidSelectorException

在weblogic12c中调用javax.jms.QueueSession.createBrowser()时发生javax.jms.InvalidSelectorException,java,jms,weblogic,weblogic11g,weblogic12c,Java,Jms,Weblogic,Weblogic11g,Weblogic12c,将Weblogic版本从10.3.6升级到12.1.2后,我得到了javax.jms.InvalidSelectorException String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false"; 调用JMS API时 String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false"; j

将Weblogic版本从10.3.6升级到12.1.2后,我得到了javax.jms.InvalidSelectorException

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
调用JMS API时

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
javax.jms.QueueSession.createBrowser(队列,字符串消息选择器)

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
我使用的选择器是

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
String selector=“jmstiestamp<“+timeStamp+”和jmsrelivered=false”;
有人知道是什么导致了这个问题吗?我错过了什么

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
不确定它为什么在WL10.3.6和WL12上工作(没有更改代码)

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
javax.jms.InvalidSelectorException:weblogic.messaging.kernel.InvalidExpressionException:Expression:“jmstiestamp<1386059460109和jmsrelied=false”
在weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)上
在weblogic.jms.dispatcher.DispatcherAdapter.Dispatchessync(DispatcherAdapter.java:45)
位于weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:3278)
在weblogic.jms.client.JMSQueueBrowser上。(JMSQueueBrowser.java:48)
位于weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:2671)
位于weblogic.jms.client.WLSessionImpl.createBrowser(WLSessionImpl.java:1072)
在my.common.server.jms.JMSBrowser.initBrowser(JMSBrowser.java:87)上
在my.common.server.jms.JMSBrowser.countOldMessages上(JMSBrowser.java:53)
在my.callback.server.JMSCallbackBrowseSyncTimeoutTask.execute(JMSCallbackBrowseSyncTimeoutTask.java:36)
位于org.quartz.core.JobRunShell.run(JobRunShell.java:213)
位于org.quartz.siml.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
由以下原因引起:javax.jms.InvalidSelectorException:weblogic.messaging.kernel.InvalidExpressionException:Expression:“JMSTimestamp<1386059460109且JMSReedelived=false”
位于weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
位于weblogic.jms.dispatcher.Request.getResult(Request.java:52)
位于weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:1124)
位于weblogic.messaging.dispatcher.DispatcherImpl.syncRequest(DispatcherImpl.java:201)
在weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:236)上
在weblogic.jms.dispatcher.DispatcherAdapter.Dispatchessync(DispatcherAdapter.java:43)
... 9更多
由以下原因引起:javax.jms.InvalidSelectorException:weblogic.messaging.kernel.InvalidExpressionException:Expression:“JMSTimestamp<1386059460109且JMSReedelived=false”
位于weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
位于weblogic.jms.dispatcher.Request.getResult(Request.java:52)
位于weblogic.jms.dispatcher.Request.useChildResult(Request.java:69)
位于weblogic.jms.frontend.FESession.browserCreate(FESession.java:1288)
位于weblogic.jms.frontend.FESession.invoke(FESession.java:3041)
位于weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
... 还有12个
由以下原因引起:javax.jms.InvalidSelectorException:weblogic.messaging.kernel.InvalidExpressionException:Expression:“JMSTimestamp<1386059460109且JMSReedelived=false”
位于weblogic.jms.dispatcher.Request.handleThrowable(Request.java:87)
位于weblogic.jms.dispatcher.Request.getResult(Request.java:52)
位于weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:1124)
位于weblogic.messaging.dispatcher.DispatcherImpl.DispatcherAsyncInternal(DispatcherImpl.java:156)
位于weblogic.messaging.dispatcher.DispatcherImpl.dispatcheasync(DispatcherImpl.java:132)
在weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1303)上
位于weblogic.jms.dispatcher.Request.dispatcheasync(Request.java:96)
位于weblogic.jms.frontend.FESession.browserCreate(FESession.java:1275)
... 14多
由以下原因引起:javax.jms.InvalidSelectorException:weblogic.messaging.kernel.InvalidExpressionException:Expression:“JMSTimestamp<1386059460109且JMSReedelived=false”
位于weblogic.jms.backend.BEBrowserImpl.(BEBrowserImpl.java:85)
位于weblogic.jms.backend.BEQueueImpl.createBrowser(BEQueueImpl.java:251)
位于weblogic.jms.backend.BESessionImpl.createBrowser(BESessionImpl.java:877)
位于weblogic.jms.backend.BESessionImpl.invoke(BESessionImpl.java:279)
位于weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)

经过大量调查,我们发现我们有一个在weblogic 10.3.6中使用的配置,我们为类加载器配置了特定的antlr.jar,而不是在WL中实现的版本

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
weblogic-application.xml包含:

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
<prefer-application-packages>
        <package-name>antlr.*</package-name>
    </prefer-application-packages>

antlr*

经过大量调查,我们发现我们有一个在weblogic 10.3.6中使用的配置,我们为类加载器配置了特定的antlr.jar,而不是在WL中实现的版本

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
weblogic-application.xml包含:

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";
<prefer-application-packages>
        <package-name>antlr.*</package-name>
    </prefer-application-packages>

antlr*

hibernate和drools包都包含这个antlr jar。您必须排除antlr包并使用提供的一个weblogic。

hibernate和drools包都包含这个antlr jar。您必须排除antlr包,并使用提供的一个weblogic

String selector = "JMSTimestamp < " + timeStamp + " AND JMSRedelivered = false";