JMS Selectors

Hi,
When specifying a selector for a given JMS message, where's the message filtered out/in? The WL server or the client API?
I'm assuming the former, but could not find any information on the documentation. If it's important for my question, I'm using the .NET api rather than the Java one.
Any clarification would by greatly appreciated.
Best regards,
Luís Almeida
Edited by: user12860813 on Jan 3, 2011 11:34 PM

You can try posting JMS question to the JMS newsgroup.

Similar Messages

  • Setting JMS Selector as JMS Message ID

    Does anyone knows how to set the JMS Selector as JMS Message id, i tried using JMSMessageID=P<720374.1242857046478.0> but i keep getting exception stating
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "JMSMessageID=P<720374.1242857046478.0>"
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)

    Hi Tom,
    Do you know any general solution for the situation you mentioned in your last post on this thread? Unfortunatelly one of our customers have an architecture which mixes a weblogic 8 domain with a weblogic 10 one. The JMS server is in the weblogic 10 domain but they have an OOB IGW application which runs on weblogic 8 and uses the JMS API of it. The IGW application applies the JMS Message Id model for correlating the request and response messages, but the consumer, on the weblogic 10 side, cannot find the response message because the JMS Message Id changed. The JMS of webloigc 8 - I guess - put an 'N' char after 'ID:' into the msgId and paste the whole id into the correlationId field. But on the weblogic 10 side, the consumer have the original msgId without 'N' and, of course, it doesn't find the response msg.
    So do you have any general solution to convert between these different msgId formats?
    Thanks in advance,
    Andras

  • JMS Selector Filter Issue

    I am attempting to create a "catch other" JMS selector string such that the user can choose which messages they are interested plus any that they are not interested in. This is how I am attempting to do this
    Ignored Selected
    a b
    c d
    e f
    Other
    which generates the following string
    filter IS NOT IN ('a', 'c', 'e') AND filter IS IN ('b', 'd', 'f', '%')
    What I am expecting it to do is only take the objects with filter set to b d f and any sequence of characters not in the ignored list (a,c,e) however it does not do this. It looks as if the % is not doing what I am expecting it to (match any sequence of characters).
    I even tested with setting the filter to filter IS IN ('%') which I believe should return true for everything since the spec says that % validates to anything including NULL.
    I am using JBOSS 4.0.3. Any help with this would be appreciated.

    Hi lets try once like this,
    In column selector view, first u can give the main column action like like this click on properties tab---go to interaction tab---select action link.
    Next u can add another column to column selector view, in this column go to properties tab----go to interaction tab----action links.Already i done this...
    Please mark if it helps,

  • WLS JMS Selector length

    For WLS 10 JMS Topic subscribers that use a JMS selector, what is the
    maximum length that a selector can be? Would a large selector criteria
    such as: id=1234 OR id=5231 OR id=... x10,000 be supported?
    The remote destination consumers only want to receive notification messages for records containing certain unique ids. However, it's possible that the remote destination is observing thousands of records.

    The short answer is yes. This is a frequently asked question. I
              suggest searching this newsgroup in google using terms like "C++",
              "IIOP", ".NET", "JCOM".
              Note also that WL 8.1 (now out in beta) contains a thin java client
              (something like 0 or 300K without JMS, 700k with. The 0K client comes
              from leveraging WL's IIOP support.)
              Tom, BEA
              jerry8006 wrote:
              > WLS JMS supports the clients developed by using non-java program languages,such
              > as,c++,VB?
              

  • Jms selector syntax

    I am new to jms,I do some examples about jms on weblogic6.1.
    one of all the examples is about jms selector, but i find the
    selector expression is too simple. who can tell me about jms selector syntax? where I can find the refence?

    Actually jms selector is not tough. You can find more details in specs on what all it supports. It supports most or SQL syntax and feature.
    --Ashwani                                                                                                                                                                                                                                                                                                           

  • Client based JMS Selector

    Is there currently a way in 6.1 where we can do the following:
              Take a Message and then pass it to a method which evaluates a jms
              selector at
              our choosing?
              

    Ok so I had to write my own. Xpath requires the message to be xml and
              that can slow things
              down we have tested. So will be using my own selector.
              Sure would be nice if you allowed us access since its got to be a boolean
              method selector.test(msg)
              Tom Barnes wrote:
              > Hi Larry,
              >
              > Deja Vu. (I see you asked this same question in this newsgroup
              > back in April of last year.) The answer is still the
              > same -- no. You can still use xpath approach, as was
              > discussed earlier - if you beleive the pundits, this is
              > actually more of a standard. I will discuss with my coworkers
              > to see about exposing and supporting
              > the internal selector code. If anything comes out
              > of it, I will email you offline. Meanwhile I suggest
              > placing an enhancement request through customer support.
              >
              > Tom
              >
              > Larry Presswood wrote:
              >
              >> Is there currently a way in 6.1 where we can do the following:
              >>
              >> Take a Message and then pass it to a method which evaluates a jms
              >> selector at
              >> our choosing?
              >>
              >
              

  • JMS Selector Query

              All,
              Is it possible to use System.currentTimeMillis() in the JMS Selector Syntax?
              System.currentTimeMillis > Timestamp + 3600000 (Timestamp is a header field)
              i.e. message created time is greater than one hour.
              Any pointers to infosource will be REALLY appreciated.
              Thanks in Advance,
              C R Baradwaj
              

              Raghuram Bharadwaj C wrote:
              > All,
              >
              > Is it possible to use System.currentTimeMillis() in the JMS Selector Syntax?
              >
              > System.currentTimeMillis > Timestamp + 3600000 (Timestamp is a header field)
              > i.e. message created time is greater than one hour.
              No.
              >
              > Any pointers to infosource will be REALLY appreciated.
              Typically people that ask this question are attempting
              to create timer messages. Since 6.1, WebLogic JMS has
              had an extension to support this. See the documentation:
              http://edocs.bea.com/wls/docs81/jms/implement.html#1235262
              One can also configure WL to automatically move expired
              messages to an error destination. This feature is
              available in 8.1.
              P.S. For a complete list of features, and a good
              intro to WL JMS, see:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              Tom, BEA
              >
              > Thanks in Advance,
              > C R Baradwaj
              >
              >
              >
              

  • JMS Selector problem

    Hi,
              My problem is so easy, that i'm sure i'm making some simple mistake.
              I have one message in my JMS queue, and I can see it using the WL 9.2 console:
              ID,CorrId,Time Stamp,State String
              ID:P<315390.1173718045000.0>,,Mon Mar 12 17:47:25 CET 2007,visible
              After applying a selector to the console
              JMSMessageId = 'ID:P<315390.1173718045000.0>'
              I don't see the message above !!
              I'm quite sure that the selector is ok, isn't it ??
              At first I used it in my application by the result was the same (the message was not selected).
              What can be the reason ?
              The other problem is that after putting incorrect selector I got the error in the console:
              Error creating message cursor for CISRT JMS Module!Q_DATA_IN_E
              and I cannot do anything about it (I cannot enter the 'Show Messages' screen again without server restart).
              I use Weblogic 9.2 MP1 on Windows.
              Thanks in advance for help.
              Marcin Stanski.

    Hi Marcin,
              Thanks for posting. I'll try see if its possible to fix things so other customers don't run into the same problem. Its possible that the interoperability consequences weren't considered when "Id" was fixed to be "ID" in 9.x.
              I'll file internal requests to have 10.0 and 9.x fixed so that they support both the nominally non-standard "Id" in addition to the standard "ID". If you want to track the requests, you can contact customer support and mention that "Tom Barnes has filed an Essex CR for the problem."
              Tom Barnes
              WebLogic JMS Dev Team

  • JMS selector NOT LIKE

    Does Oracle JMS implementation support using selector 'NOT LIKE' syntax?
    I used the string "JMSCorrelationID NOT LIKE 'abc%'" as receiver selector, I got an exception saying:
    JMS-159: Invalid selector Selector Parse error"
    However, using 'LIKE' is OK.
    any idea?
    - David

    Following the rationale that the selector must evaluate to true for the message to be picked up, an absent property would equate to false. Hence not being picked up.
    TE

  • JMS Selector

    Hi ALL,
    In my scenario from reqQueue I will recive message and in JCD I will be doing some manipulations where in one scenario I have send response message to again reqQueue but the queue should not process the message if it is response. If it is request only then it has to process.
    Please suggest me if any body have idea.
    Thanks & Regards,
    Anitha.B

    Hi,
    Queues are for point to point communication. In your case, what do you want to do after the message is processed and re-sent into the original queue? Probably you need to use a topic + a message selector instead. Generally speaking I never recommend as a good solution to use message selectors with queues, it is IMHO an improper design. However, as the message is processed, why do you want to redelivery it to the same queue and not to a different one? Using queues allows to decouple processors and implement a pipeline pattern: http://eaipatterns.com/PipesAndFilters.html
    Probably your technical question could be dealt by rethinking a bit your design. Maybe, if you can tell us more details on what you want to finally achieve, we could provide some hints.
    Regards,
    Maurizio

  • JMS messages sometimes not received by Flex client

    We have a problem that Flex client is sometimes not able to
    receive JMS messages from a JBoss JMS Queue. Most of the time it
    works, but if users logout/login using the same account frequently
    or you restart JBoss 4.0.4 during their session then it might
    happen. Then it doesn't work at all even if you wait. Client is
    able to send messages when this problem occurs, which can then be
    intercepted by other clients but cannot receive any messages from
    himself or from the others. JBoss 4.0.4 is running in cluster mode.
    Could it be that there is an old frozen session which is receiving
    the messages meant for the new client?(consumer selector is unique
    to each user, but if a user logs in twice, the same selector is
    used) If I run 2 instances of my JMS test consumer using the same
    selector then the consumer which registered later receives the
    messages and if it quits, then the older consumer starts receving
    them. This doesn't occur in Flex.
    Flex is running on Tomcat 5.5.17.
    Our messaging-config.xml is
    <?xml version="1.0" encoding="UTF-8"?>
    <service id="message-service"
    class="flex.messaging.services.MessageService"
    messageTypes="flex.messaging.messages.AsyncMessage">
    <adapters>
    <adapter-definition id="actionscript"
    class="flex.messaging.services.messaging.adapters.ActionScriptAdapter"
    default="true" />
    <adapter-definition id="jms"
    class="flex.messaging.services.messaging.adapters.JMSAdapter"/>
    </adapters>
    <destination id="JMSQueueB">
    <properties>
    <network>
    <session-timeout>10</session-timeout>
    </network>
    <jms>
    <initial-context-environment>
    <property>
    <name>java.naming.factory.url.pkgs</name>
    <value>org.jboss.naming:org.jnp.interfaces</value>
    </property>
    <property>
    <name>Context.PROVIDER_URL</name>
    <value>jnp://x.x.x.x:1100,jnp://x.x.x.y:1100</value>
    </property>
    <property>
    <name>Context.INITIAL_CONTEXT_FACTORY</name>
    <value>org.jnp.interfaces.NamingContextFactory</value>
    </property>
    </initial-context-environment>
    <destination-type>Queue</destination-type>
    <message-type>javax.jms.TextMessage</message-type>
    <connection-factory>ConnectionFactory</connection-factory>
    <destination-jndi-name>queue/B</destination-jndi-name>
    <destination-name>B</destination-name>
    <delivery-mode>PERSISTENT</delivery-mode>
    <message-priority>DEFAULT_PRIORITY</message-priority>
    <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
    <transacted-sessions>false</transacted-sessions>
    </jms>
    </properties>
    <channels>
    <channel ref="my-rtmp"/>
    <channel ref="my-secure-amf"/>
    </channels>
    <adapter ref="jms"/>
    </destination>
    </service>
    Part of our actionscript code:
    pmConsumer = new Consumer();
    pmConsumer.destination = "JMSQueueB";
    pmConsumer.selector = "some jms selector ....";
    pmConsumer.addEventListener(MessageEvent.MESSAGE,
    presenceMessageHandler);
    pmConsumer.addEventListener(MessageFaultEvent.FAULT,
    faultHandler);
    pmConsumer.addEventListener(ChannelFaultEvent.FAULT,
    channelFaultHandler);
    pmConsumer.subscribe();
    Also Flex seems to be handing channel switching incorrectly,
    if rtmp port is firewalled, it won't use amf properly even though
    it was given 2 channels in configuration file and JMS messaging
    doesn't work. We have to alter the channel set during runtime.
    Flex also doesn't automatically switch to other JMS server if
    one goes down. Is this a feature or a bug? We have to reset
    producer and consumer in order for this to work.

    Hi,
    It was in earlier version of the OS that you could turn Bonjour On and Off.
    If this can be done in Leopard and Snow Leopard I have not found it yet. (But I don't look that often and nor for very long)
    This Forum may help with that
    I would also try a PRAM reset. (on Both computers)
    Shut down the computer.
    Restart it holding down APPLE(or ⌘)ALT+PR Keys until you have heard three Start Up Bongs.
    7:18 PM Tuesday; December 8, 2009
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"

  • Message selectors

              Two questions:
              1.) Where does the message selector query get executed? Either every subscriber
              gets all messages for the subscribed topic and then runs the selector against
              it, or the server runs the selector on the message before sending it out to the
              subscriber. While it may seem like the latter is preferable, I wonder how much
              performance on the server side will be affected as a result of the server processing
              ALL of the message selectors. If the former is the case, there is obviously more
              network traffic, but the server's processing time is reduced when many messages
              are sent out to many subscribers with message selectors. Does anyone have any
              input on this?
              2.) Are there any plans for Weblogic supporting subscriptions to a hierarchial
              topic? For example, subscribing to cars.* will return messages sent to the topic
              cars.bmw and cars.ford. I know this is not part of the JMS specification, but
              it is a nice addition.
              Thanks.
              Dan
              

              Tom Barnes <[email protected]> wrote:
              >Hi Dan,
              >
              >Answers in-line.
              >
              >Dan Baumbach wrote:
              >
              >> Two questions:
              >> 1.) Where does the message selector query get executed? Either every
              >subscriber
              >> gets all messages for the subscribed topic and then runs the selector
              >against
              >> it, or the server runs the selector on the message before sending it
              >out to the
              >> subscriber. While it may seem like the latter is preferable, I wonder
              >how much
              >> performance on the server side will be affected as a result of the
              >server processing
              >> ALL of the message selectors. If the former is the case, there is
              >obviously more
              >> network traffic, but the server's processing time is reduced when many
              >messages
              >> are sent out to many subscribers with message selectors. Does anyone
              >have any
              >> input on this?
              >
              >If you use the WL topic multicast extension, the former. The former
              >is the
              >obvious choice using multicast, as the server only has one network call
              >to make per
              >message...
              >
              >Otherwise, the latter. The latter is preferable, as otherwise the
              >server would
              >be making one network call be subscriber per message - which is far more
              >heavy-weight.
              >
              >>
              >>
              >> 2.) Are there any plans for Weblogic supporting subscriptions to a
              >hierarchial
              >> topic?
              >
              >This is under consideration.
              >
              >> For example, subscribing to cars.* will return messages sent to the
              >topic
              >> cars.bmw and cars.ford. I know this is not part of the JMS specification,
              >but
              >> it is a nice addition.
              >
              >Yes, topic hierarchies are not part of the JMS specification, but you
              >can emulate them
              >fairly easily, if somewhat inefficiently, by using JMS selectors with
              >a "like" clause.
              > The publisher sets a correlation-id on the message:
              >msg.setJMSCorrelationID("cars.ford");
              > The subscriber sets its selector to "JMSCorrelationID like 'cars.%'"
              >
              >>
              >>
              >> Thanks.
              >> Dan
              >
              >Tom
              >
              

  • WebLogic 9 and Antlr problem with JMS Messages

    Hi all,
    I'm facing a problem and your help would be very appreciated.
    We've got an EAR application deployed on a WebLogic 9.x. As we use Hibernate3, when we put it into WebLogic 10, we needed to add "antlr" library to our "weblogic-application.xml" as "prefer-application-packages" (This is because of the well-known error of ClassNotFoundException of the HqlToken class).
    The version of Antlr we have is 2.7.7, and works perfectly in WebLogic 10.
    Now, we want to have an EAR that can be installed in both WebLogic 9.x and 10. But we're getting a fatal exception when we want to create a JMS consumer with a JMS selector in WebLogic 9.x(this is for listening only for the message we need in the queue).
    So, in WebLogic 10 it works with "antlr" in the prefer-application-packages, but in WebLogic 9.x doesn't. And if we don't put it there, it works in WL 9 but not in WL 10.
    The best would be to have the library in the weblogic-application.xml so WebLogic put our library first in the classpath. But in WL 9 we've got this exception:
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:45)
         at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:2659)
         at weblogic.jms.client.JMSSession.setupConsumer(JMSSession.java:2432)
         at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2379)
         at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2359)
         at weblogic.jms.client.WLSessionImpl.createConsumer(WLSessionImpl.java:800)
         at crm.appl.cat.CatUtil.enviarMensajeSync(CatUtil.java:244)
         at crm.appl.cat.mar.CatMessageReceiver.receive(CatMessageReceiver.java:571)
         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
         at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
         at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:496)
         at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
         at crm.appl.cat.mar.CatServlet.service(CatServlet.java:108)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         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 crm.appl.cat.mar.CatFilter.doFilter(CatFilter.java:33)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3212)
         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:1983)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:63)
         at weblogic.jms.dispatcher.Request.getResult(Request.java:51)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:895)
         at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:178)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
         ... 35 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:45)
         at weblogic.jms.frontend.FEConsumer.<init>(FEConsumer.java:255)
         at weblogic.jms.frontend.FESession$2.run(FESession.java:966)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:962)
         at weblogic.jms.frontend.FESession.invoke(FESession.java:2824)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)
         ... 37 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:63)
         at weblogic.jms.dispatcher.Request.getResult(Request.java:51)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:895)
         at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:178)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
         ... 44 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.backend.BEQueueImpl.createFilterExpression(BEQueueImpl.java:155)
         at weblogic.jms.backend.BEQueueImpl.createConsumer(BEQueueImpl.java:182)
         at weblogic.jms.backend.BESessionImpl.createBEConsumer(BESessionImpl.java:368)
         at weblogic.jms.backend.BESessionImpl.createConsumer(BESessionImpl.java:378)
         at weblogic.jms.backend.BESessionImpl.invoke(BESessionImpl.java:289)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)
         ... 46 more
    Check that "invocationId" is a JMS String Property that we're adding in the messages. Our same source code works perfect in WL 9 without "antlr" as an prefered application package. You know that in WL 9, the antlr library was bundled into the weblogic.jar, so WL has it in his System classpath.
    Someone has an idea how we can solve this? The final solution may be having 2 EARs (one for WL 9 and one for WL 10, with the only change of the weblogic-application.xml), but it's not a nice solution.
    Thank you a lot in advance.
    Ariel Cassan
    Argentina

    Hi all,
    I'm facing a problem and your help would be very appreciated.
    We've got an EAR application deployed on a WebLogic 9.x. As we use Hibernate3, when we put it into WebLogic 10, we needed to add "antlr" library to our "weblogic-application.xml" as "prefer-application-packages" (This is because of the well-known error of ClassNotFoundException of the HqlToken class).
    The version of Antlr we have is 2.7.7, and works perfectly in WebLogic 10.
    Now, we want to have an EAR that can be installed in both WebLogic 9.x and 10. But we're getting a fatal exception when we want to create a JMS consumer with a JMS selector in WebLogic 9.x(this is for listening only for the message we need in the queue).
    So, in WebLogic 10 it works with "antlr" in the prefer-application-packages, but in WebLogic 9.x doesn't. And if we don't put it there, it works in WL 9 but not in WL 10.
    The best would be to have the library in the weblogic-application.xml so WebLogic put our library first in the classpath. But in WL 9 we've got this exception:
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:45)
         at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:2659)
         at weblogic.jms.client.JMSSession.setupConsumer(JMSSession.java:2432)
         at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2379)
         at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:2359)
         at weblogic.jms.client.WLSessionImpl.createConsumer(WLSessionImpl.java:800)
         at crm.appl.cat.CatUtil.enviarMensajeSync(CatUtil.java:244)
         at crm.appl.cat.mar.CatMessageReceiver.receive(CatMessageReceiver.java:571)
         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
         at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
         at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:496)
         at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
         at crm.appl.cat.mar.CatServlet.service(CatServlet.java:108)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         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 crm.appl.cat.mar.CatFilter.doFilter(CatFilter.java:33)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3212)
         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:1983)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:63)
         at weblogic.jms.dispatcher.Request.getResult(Request.java:51)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:895)
         at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:178)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
         ... 35 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:45)
         at weblogic.jms.frontend.FEConsumer.<init>(FEConsumer.java:255)
         at weblogic.jms.frontend.FESession$2.run(FESession.java:966)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:962)
         at weblogic.jms.frontend.FESession.invoke(FESession.java:2824)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)
         ... 37 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.dispatcher.Request.handleThrowable(Request.java:63)
         at weblogic.jms.dispatcher.Request.getResult(Request.java:51)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:895)
         at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:178)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSync(DispatcherAdapter.java:43)
         ... 44 more
    Caused by: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "invocationId = '124567585'"
         at weblogic.jms.backend.BEQueueImpl.createFilterExpression(BEQueueImpl.java:155)
         at weblogic.jms.backend.BEQueueImpl.createConsumer(BEQueueImpl.java:182)
         at weblogic.jms.backend.BESessionImpl.createBEConsumer(BESessionImpl.java:368)
         at weblogic.jms.backend.BESessionImpl.createConsumer(BESessionImpl.java:378)
         at weblogic.jms.backend.BESessionImpl.invoke(BESessionImpl.java:289)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)
         ... 46 more
    Check that "invocationId" is a JMS String Property that we're adding in the messages. Our same source code works perfect in WL 9 without "antlr" as an prefered application package. You know that in WL 9, the antlr library was bundled into the weblogic.jar, so WL has it in his System classpath.
    Someone has an idea how we can solve this? The final solution may be having 2 EARs (one for WL 9 and one for WL 10, with the only change of the weblogic-application.xml), but it's not a nice solution.
    Thank you a lot in advance.
    Ariel Cassan
    Argentina

  • JMS subscriber is triggered twice for a single message.

    I have a JMS distributed topic created on a cluster (WLI sp4). When a message is published to the topic, the subscriber (JPD) is triggered twice. Two instances of the same JPD are triggered and they run parallely. I have two managed servers associated with the cluster.
    Can any of you help me know why this is happening? Is this a known issue in sp4?
    Will really appreciate if you help me out of this.
    Edited by elangosv at 12/11/2006 1:07 PM

    No, this is a correct behaviour of WL distributed topics (DT). When you
    publish message into DT it'll be replicated to all physical members of the
    DT. JMS Event Generator (EG) which will trigger the jpd is just an MDB,
    subscribed on DT (on its local physical member). I assume you have two JMS
    servers deployed on each managed node and your EG and JPD are deployed to
    the cluster (on both managed nodes) as well. Thus, and MDB (EG) on each node
    will receive a message replica delivered to the local DT member and will
    start a JPD.
    In order to solve the issue you may use non-distributed topics instead: you
    may specify topics with the same Name and JNDIName on both your JMS servers
    but its JNDI anme must be not replicated through the cluster:
    JNDINameReplicated="false". Your JMS servers must also not use migratable
    targets in this case.
    Another possible solution (that I use for some reason): to add into the
    message a JMS property identifying the source of the message, i.e. the
    server (managed node) name. EG on each node has a JMS selector which
    specifies that it'll filter out messages produced on other members of the
    DT. (jms_Source = '<your node name here>').
    HTH, Denis.
    <Elango SV> wrote in message news:[email protected]..
    I have a JMS distributed topic created on a cluster (WLI sp4). When a
    message is published to the topic, the subscriber (JPD) is triggered twice.
    Two instances of the same JPD are triggered and they run parallely. I have
    two managed servers associated with the cluster.
    Can any of you help me know why this is happening? Is this a known issue in
    sp4?
    Will really appreciate if you help me out of this.
    Edited by elangosv at 12/11/2006 1:07 PM

  • WL 7 Message Bridges using the selector.

    We are trying to use a WL7 Message Bridge to bring select messages from WL6.
              We are trying to implement the Selector part of the Bridge. Does anyone
              know if this functionality actually works? And if it does work is the format
              of the Selector the same as in a MDB message-selector part of the
              ejb-jar.xml file?
              Thanks,
              John
              

              As far as we know, the selector part of the bridge works.
              The format of the selector is the same as JMS selector defined
              in JMS specification, which is the same as in MDB message-selector
              element of ejb-jar.xml file.
              Dongbo
              John Favre wrote:
              >
              > We are trying to use a WL7 Message Bridge to bring select messages from WL6.
              > We are trying to implement the Selector part of the Bridge. Does anyone
              > know if this functionality actually works? And if it does work is the format
              > of the Selector the same as in a MDB message-selector part of the
              > ejb-jar.xml file?
              >
              > Thanks,
              > John
              

Maybe you are looking for

  • Short dump in alv

    hello gurus, while i running sales report in production it foin into short dump and in error message indicates low memory space into internal table while last select quary executes. also  i want make u sure in production while am execute for one motn

  • My iMac beeps and freezes

    I will be using it and it randomly will stop and freeze than beep three times the only way to stop it is a hard boot up unplugging it only works I had upgraded the ram to the max that a 27 inch 2011 model will take I believe 16 gb

  • Line / scatter plot axis problems

    I'm trying to create a graph to show the percentage of revenue that is generated by some percentage of classes offered, a la an 80-20 graph. Sample XML: <DATA> <RevenueByClass> <REVENUEBYCLASS_ROW> <CLASS_NUMBER>1</CLASS_NUMBER> <PERCENT_OF_CLASSES>.

  • I am facing problem in my Iphone

    Hi, I am facing problem in my Iphone5. When ever I am trying to install free application it will ask me for payment. I don't know why this is happening, if the application is free then why it ll ask me for payment. Please resolve this problem as soon

  • Lightroom 5 error message upon import, won't work with symlinks, can't fix!

    Mac MPR with SSD, I have always had my /pictures and /documents folders symlinked with Dropbox.. I just installed Lightroom 5, and when I click "Import", it says, "AgPathUtils.getStandardFilePath: can't create directory at:" /User/Pictures.. Please,