Weblogic Unit Of Order on Javax.JMS

Hi I want to use Weblogic Unit of Order on Javax.jms and not on Weblogic.jms, does anyone know how to do that.

You need to use WLS JMS extension interface to programmatically set a Unit-of-order. In order for applications that use pure javax.jms interfaces to take the advantage of Unit-of-order feature, WLS allows administrators to enable unit-of-order via configuration. Once you enable Unit-of-order on a connection factory, all messages sent from one session will belong to the same unit-of-order either with a system-generated name or a user-generated name. In addition, you could enable unit-of-order on a per destination basis as well.
For details, please refer to http://docs.oracle.com/cd/E17904_01/web.1111/e13727/uoo.htm#i1040257.

Similar Messages

  • Using weblogic unit-of-order (UOO) in osb proxy service

    Hi,
    I have a JMS Queue deployed to Weblogic server. The messages inside the queue are grouped using the JMS_BEA_Unit-of-order (UOO) Weblogic feature.
    Now i have a OSB 10g Proxy Service which reads messages from this Queue. The problem is, on recieving a message, acknowledgement is send immediately, thus removing the message from the Queue and next message with same Unit-Of-Order is ready for processing.
    But the business scenario needs the first message to be read, processed and then decide to acknowledge or not. The second message should not be read unless the previous message is processed successfully.
    Can anyone help with this scenario?
    Thanks,
    Alex
    Edited by: user9024636 on Feb 11, 2010 2:57 AM

    Hi Steve,
    I don't know what you need UOO for, but, for some use cases, its sufficient just to configure a default UOO on the sender's connection factory.
    Propapagation of a UOO from one desitnation to another is not automatic (except via SAF, or unless OSB somehow does it for you). Plain vanilla JMS apps do this by calling msg.getStringProperty("JMS_BEA_UnitOfOrder") on the received message and setUnitOfOrder() on the javax.jms.WLProducer.
    You might find that there's more OSB expertise on an OSB newsgroup (I think it's one of the newsgroups under [url http://forums.oracle.com/forums/category.jspa?categoryID=194]SOA & Process Management).
    Regards,
    Tom

  • Deprecation of javax.jms.QueueConnectionFactory

    i found out in weblogic 6.1 docs that javax.jms.QueueConnectionFactory and javax.jms.TopicConnectionFactory is deprecated.
    But i found no mention of this in the latest javadocs that i downloaded from java.sun.com.(jms 1.0.2 b)
    clarifications in this regard is appreciated

    Hi -
    I'm the JMS Specifecation Lead. Let me reassure you: the javax.jms.QueueConnectionFactory and and javax.jmsTopicConnectionFactory interfaces have not been deprecated.
    I spoke with a senior BEA techincal person for JMS, and he explained that this is a documentation issue. He's filed a request to have it fixed. Here's what he said.
    " In WebLogic, there are default connection
    factories. Those default factories have some well known names. The
    original names chosen were "javax.jms.QueueConnectionFactory" and
    "javax.jms.TopicConnectionFactory". WebLogic changed the JNDI name in 6.0
    (multiple reasons mostly to do with customer backward compatibility).
    As far as I know the specification makes no statements about how a product
    is administered, that there would even be default connection factories, or
    what their names might be if there were. The documentation is misleading
    in that it doesn't mention that those are the *JNDI names* of the factories,
    not the interfaces for the factories. I will file an appropriate bug
    report against the documentation.
    Feel free to post my comments in your forum, or send me to the URL where I
    can officially respond. Thanks for bringing this up."
    I want to thank BEA for a prompt response on this.
    i found out in weblogic 6.1 docs that
    javax.jms.QueueConnectionFactory and
    javax.jms.TopicConnectionFactory is deprecated.
    But i found no mention of this in the latest javadocs
    that i downloaded from java.sun.com.(jms 1.0.2 b)
    clarifications in this regard is appreciated

  • JMS Uniform Distribute Queue Unit Of Order, problem when one node goes down

    Hi ,
    I have the following code which post a message (with Unit of Order set ) to a Uniform Distribute Queue in a cluster with two member servers (server1 and server2).
    --UDQ is targeted to a subdeployment that is mapped to two JMS servers pointing to each member servers
    --Connection Factory is using default targeting ( i tried mapping to Sub deployment also)
    javax.naming.InitialContext serverContext = new javax.naming.InitialContext();
    javax.jms.QueueConnectionFactory qConnFactory = (javax.jms.QueueConnectionFactory)serverContext.lookup(jmsQConnFactoryName);
    javax.jms.QueueConnection qConn = (javax.jms.QueueConnection)qConnFactory.createConnection();
    javax.jms.QueueSession qSession = qConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    javax.jms.Queue q = ( javax.jms.Queue)serverContext.lookup(jmsQName);
    weblogic.jms.extensions.WLMessageProducer qSender = (weblogic.jms.extensions.WLMessageProducer) qSession.createProducer(q);
    qSender.setUnitOfOrder("MyUnitOfOrder");
    javax.jms.ObjectMessage message = qSession.createObjectMessage();
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("something", "SomeObject");
    message.setObject(map);
    qSender.send(message);
    } catch (Exception e) {           
    Steps followed:
    1. Post a message from "server1"
    2. Message picked up by "server2"
    3. Everything fine
    4. Shutdown "server2"
    5. Post a message from "server1"
    6. ERROR: "hashed member of MyAppJMSModule!MyDistributedQ is MyAppJMSModule!MyJMSServer-2@MyDistributedQ which is not available"
    WebLogic version : 10.3.5
    Is there a way (other than configuring Path Service ) to make this code work "with unit of order" for a UDQ even if some member servers go down ?
    Thanks very much for your time.

    If you want to avoid use of the Path Service, then the alternative is to make the destination members highly available. This will help ensure that the host member for a particular UOO is up.
    One approach to HA is to configure "service migration". For more information see the Automatic Service Migration white-paper at
    http://www.oracle.com/technology/products/weblogic/pdf/weblogic-automatic-service-migration-whitepaper.pdf
    In addition, I recommend referencing Best Practices for JMS Beginners and Advanced Users
    http://docs.oracle.com/cd/E17904_01/web.1111/e13738/best_practice.htm#JMSAD455 to help with WL configuration in general.
    Hope this helps,
    Tom

  • Javax.jms.InvalidSelectorException occurs when upgrade to weblogic 12c

    Recently, our team upgrade weblogic server from 11g to 12c,  some errors occur when start web application in weblogic domain.
    The error is related to message driven bean,  below is the part of  ejb-jar.xml definition:
      <message-driven id="message-driven_1">
          <description>Message Driven Bean</description>
          <display-name>Message Configuration (MDB)</display-name>
          <ejb-name>Logger</ejb-name>
          <ejb-class>com.logging.mdb.Logger</ejb-class>
          <messaging-type>javax.jms.MessageListener</messaging-type>
          <transaction-type>Container</transaction-type>
          <message-destination-type>javax.jms.Queue</message-destination-type>
          <activation-config>
                <activation-config-property>
                    <activation-config-property-name>messageSelector</activation-config-property-name>
                    <activation-config-property-value>DELIVERY='IMMEDIATE'</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                    <activation-config-property-name>acknowledgeMode</activation-config-property-name>
                    <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                     <activation-config-property-name>destinationType</activation-config-property-name>
                     <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
                </activation-config-property>
          </activation-config>
      </message-driven>
    When start application below errors show up:
    <Dec 18, 2013 6:24:05 AM PST> <Warning> <EJB> <SLC02PGO> <AdminServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1387376645415> <BEA-010061> <The Message-Driven EJB Logger is unable to connect to the JMS destination edx/queue/logger. The Error was:
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "DELIVERY='IMMEDIATE'"
    Nested exception: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "DELIVERY='IMMEDIATE'"
    Nested exception: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "DELIVERY='IMMEDIATE'"
    Nested exception: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "DELIVERY='IMMEDIATE'"
    Nested exception: javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "DELIVERY='IMMEDIATE'"
    ####<Dec 18, 2013 6:24:15 AM PST> <Warning> <EJB> <SLC02PGO> <AdminServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1387376655414> <BEA-010096> <The Message-Driven EJB MessageDispatcher is unable to connect to the JMS destination or bind to JCA resource adapter edx.queue.outbound. The onnection failed after 124 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
    It works well in weblogic 11g,   not sure whether there's any changes in weblgic 12c.
    I'm appreciate if there's someone can help me on this issue.
        <message-driven id="message-driven_1">
          <description>Message Driven Bean</description>
          <display-name>Message Configuration (MDB)</display-name>
          <ejb-name>Logger</ejb-name>
          <ejb-class>com.edocs.fs.logging.mdb.Logger</ejb-class>
          <messaging-type>javax.jms.MessageListener</messaging-type>
          <transaction-type>Container</transaction-type>
          <message-destination-type>javax.jms.Queue</message-destination-type>
          <activation-config>
            <activation-config-property>
              <activation-config-property-name>messageSelector</activation-config-property-name>
              <activation-config-property-value>DELIVERY='IMMEDIATE'</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
              <activation-config-property-name>acknowledgeMode</activation-config-property-name>
              <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
              <activation-config-property-name>destinationType</activation-config-property-name>
              <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
            </activation-config-property>
          </activation-config>
          <resource-ref id="ResRef_Logger_1">
            <res-ref-name>jdbc/LoggerDataSource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
          </resource-ref>
        </message-driven>

    Hi,
    I debug the application, I found my @ViewScoped ManagedBeans, they're recreated after you click a button or select a item in combobox
    Here is a piece of code:
        @PostConstruct
        public void resolveEntity() {
            Object sEntity = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("entity");
            entity = (BctTbOportunidade) sEntity;
             FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("entity");
            if (entity == null) {
                entity = new BctTbOportunidade();
    I use @postConstruct to get a entity from another page in sessionMap(I set a item from a table and use this method to modify a entity in a other page).
    When I click a button or select a item in combobox in same page @PostConstruct method is called but values are lost. No Exceptions are thrown by server.
    I found a artice written by BalluC that some versions of jsf 2.1 has this behavior The BalusC Code: The benefits and pitfalls of @ViewScoped
    I already configured my web.xml to set false javax.faces.PARTIAL_STATE_SAVING 
    But this behavior continues.
    The jsf version deployed in my weblogic 12c is 2.1.7.

  • JMS: Unit of Order Scope (Producer or Message)

    Is it the intent of "Unit of Order" to be used at the Producer layer or at the message layer? The documentation seems to imply the former.
    The documentation describes the method WLProducer.setUnitOfOrder(uooName). This implies that the intent is to set the Unit of Order name, and then send many messages within the Unit of Order.
    I have a stream of messages that are mostly unrelated. Each message affects one entity, and the system has many (10s-of-thousands) entities. Unrelated messages can be processed in any sequence. However, every once in a while there are two messages for the same entity that are in close time proximity. These messages must be processed in sequence.
    Since the Unit of Order is different for every message, the natural approach would be to set it in the send method. But WLS does not offer that.
    The alternative is to call WLProducer.setUnitOfOrder( entityId) before each send. Would that be reasonable, or is that against the intent of Unit of Order?
    Thanks...
    Roger

    I am assuming a single queue, non-Distributed Queue for this post, and that your CPU and memory for your WebLogic server have some headroom per queued message.
    I agree that you should try UOO, if the server has enough memory headroom to accommodate Unit of Order data structures for the messages that are in the Queue.
    There are some small coordination objects and the user defined string per UOO.
    These objects are for the UOO messages that are currently in the queue rather than all the ones the server has ever encountered.
    Though you may have tens of thousands of UOOs possible in your application, it sounds like a message for each one is probably not in the queue at the same time.
    If you have a few hundred messages in the queue, and your server already has ample memory and CPU,
    then adding the memory overhead of UOO is worth the investment for the correctness you get in return, see below.
    If you really have tens of thousands of messages in the queue, and your server already has ample memory and CPU to accommodate the UOO objects,
    then adding the memory overhead of UOO may still be worth the investment for the correctness you get in return.
    The hard part here is the extra memory usage since UOO is not paged out the way message bodies are.
    So you will have more memory use and Garbage Collection.
    There is also more CPU since you have to look up the UOO when you produce the message.
    This makes trying it more important before you go into production.
    In both cases, you should certainly see less database lock and internal lock contention if your lock objects are related to your UOO names, since there will be only one thread in execution with that UOO name.
    So you may see a database throughput improvement, which may be the heaviest part of your application.
    Choosing the UOO name is always important, long enough to reduce contention, short enough to have as message payload and in memory.
    I hope you post the results of your evaluation,
    -Sal

  • JMS: Unit of Order Scope (Producer or Message) [WLS]

    Is it the intent of "Unit of Order" to be used at the Producer layer or at the message layer? The documentation seems to imply the former.
    The documentation describes the method WLProducer.setUnitOfOrder(uooName). This implies that the intent is to set the Unit of Order name, and then send many messages within the Unit of Order.
    I have a stream of messages that are mostly unrelated. Each message affects one entity, and the system has many (10s-of-thousands) entities. Unrelated messages can be processed in any sequence. However, every once in a while there are two messages for the same entity that are in close time proximity. These messages must be processed in sequence.
    Since the Unit of Order is different for every message, the natural approach would be to set it in the send method. But WLS does not offer that.
    The alternative is to call WLProducer.setUnitOfOrder( entityId) before each send. Would that be reasonable, or is that against the intent of Unit of Order?
    Thanks...
    Roger
    PS: My appologies, I posted this in the wrong group. It relates to WEbLogic Server.
    Message was edited by: rfischer
    rfischer

    I am assuming a single queue, non-Distributed Queue for this post, and that your CPU and memory for your WebLogic server have some headroom per queued message.
    I agree that you should try UOO, if the server has enough memory headroom to accommodate Unit of Order data structures for the messages that are in the Queue.
    There are some small coordination objects and the user defined string per UOO.
    These objects are for the UOO messages that are currently in the queue rather than all the ones the server has ever encountered.
    Though you may have tens of thousands of UOOs possible in your application, it sounds like a message for each one is probably not in the queue at the same time.
    If you have a few hundred messages in the queue, and your server already has ample memory and CPU,
    then adding the memory overhead of UOO is worth the investment for the correctness you get in return, see below.
    If you really have tens of thousands of messages in the queue, and your server already has ample memory and CPU to accommodate the UOO objects,
    then adding the memory overhead of UOO may still be worth the investment for the correctness you get in return.
    The hard part here is the extra memory usage since UOO is not paged out the way message bodies are.
    So you will have more memory use and Garbage Collection.
    There is also more CPU since you have to look up the UOO when you produce the message.
    This makes trying it more important before you go into production.
    In both cases, you should certainly see less database lock and internal lock contention if your lock objects are related to your UOO names, since there will be only one thread in execution with that UOO name.
    So you may see a database throughput improvement, which may be the heaviest part of your application.
    Choosing the UOO name is always important, long enough to reduce contention, short enough to have as message payload and in memory.
    I hope you post the results of your evaluation,
    -Sal

  • Unit-of-order questions

    Hi,
    suppose that there are 2 messages in jms queue with unit-of-order configurated (createCustomer and modifyCustomer), what happened if the process that works the first message crashes? The second message remain in the queue or is removed from queue?
    Thk
    Leo

    In this example i would assume you would have set UOO to customer ID. Weblogic JMS ensures all messages with the same UOO are delivered to the client in the same order in which it is published. It would be upto the jms client to handle for situations like system crash ( e.g. by using transacted MDB ). From weblogic JMS perspective it will deliver the 2nd message with the same UOO to the client only if it is assured that the first message was delivered successfully to the client.
    E.g. when using transactional delivery, the transaction has to commit, when using client acknowledgement mode, the ack has to be received from the client and so on.

  • Soa-infra-wls WARNING -- javax.jms.JMSException: [JMSPool:169803]

    Hello Experts:
    Env:
    Sun Solaris 10
    Web Logic Server 10.3.6.
    SOA 11.1.1.1.6.0
    2 Node Cluster
    -- Installed WLS, SOA and went fine
    -- soa-infra-wls STATE is "Active" and Health shows as "Warning".
    -- I do see the below @ SOA MAnaged Server logs
    ====================
    ####<Dec 31, 2012 8:24:04 AM MST> <Warning> <JMSPool> <HPSTNAME> <TSOAServer1_1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <d41f212662d693cc:5f76b50b:13bf18b9bbd:-8000-0000000000000038> <1356967444568> <BEA-169808> <There was an error while making the initial connection to the JMS resource named jms/Queue/NotificationSenderQueueConnectionFactory from the EJB "NotificationServiceBean" inside application "soa-infra-wls". The server will attempt the connection again later. The error was javax.jms.JMSException: [JMSPool:169803]JNDI lookup of the JMS connection factory jms/Queue/NotificationSenderQueueConnectionFactory failed: javax.naming.NameNotFoundException: While trying to lookup 'jms.Queue/NotificationSenderQueueConnectionFactory' didn't find subcontext 'jms'. Resolved ''; remaining name 'jms/Queue/NotificationSenderQueueConnectionFactory'>
    =====================
    -- The JMS adapter is target for "AdminServer" and "SOA Managed Server".
    How to fix this Warning/error??
    Any help is appreciated.
    Thanks
    Rgds
    Natrajan

    Natrajan,
    soa-infra-wls STATE is "Active"This states your installation was successful and you are ready to use it.
    jms/Queue/NotificationSenderQueueConnectionFactoryTry to look into above JMS Resource and locate the JNDI name for the same.. there would be mismatch as per your logs suggest..
    Did you have set workflow notification properties in Oracle EM .If not set them as they are needed during server startup. After that you won't find notification warnings during server start up .
    http://oraclefusionfacts.blogspot.in/2011/04/configure-soa-suite-11g-for-sending.html
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Jan 1, 2013 12:36 PM

  • Scalability of Unit of Order

    1. We are considering using Unit Of Order (UOO) in an Active-Active weblogic cluster.
    What are the vertical and horizontal scalability options of UOO in such a case?
    2. To ensure strict sequencing requirements of messages, could we consider using a w s reliable messaging session as an alternative to UOO?
    Thanks,
    B.

    Hi,
    I read the document, Michal, chapter 3.1.3 about load balancing is quite helpfull. Thank's.
    As I understand it right for scaling up the adapter engine (java stack) I would need a web dispatcher but for scaling up the integration engine (ABAP stack) this would do the message server. Right?
    As I understand it, Jaime, most of the performance/memory is needed for the mapping in general? That's why normal mappings don't use XSLT?
    Kind regards,
    Horst
    PS: The quicksizer did not work for me (with firefox)

  • Naming Exception while using the javax.jms.QueueConnectionFactory

    Hi All,
    I am quite new to JMS. I am trying to run the example QueueSender program shipped with weblogic5.1 . When i run the program i get the following error ...
    Exception in thread "main" javax.naming.Name
    NotFoundException:
    'javax.jms.QueueConnectionFactory'; remaining name 'jms.QueueConnectionFactory'
    at weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.j
    ava:76)
    at weblogic.jndi.toolkit.BasicWLContext_WLStub.lookup(BasicWLContext_WLS
    tub.java:246)
    at weblogic.jndi.toolkit.WLContextStub.lookup(WLContextStub.java:545)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at examples.jms.queue.QueueSend.init(QueueSend.java:37)
    at examples.jms.queue.QueueSend.main(QueueSend.java:82)
    I am desperate to get any guidance regarding the above mentioned exception
    Thanx
    Shanks

    I don't use weblogic but the javax.naming.Name
    NotFoundException suggests that the JNDI name cannot be found or resolved.
    The name is specified in 2 locations, one in your java codes and the other during the deployment of the JMS application.
    The error means the java program cannot find the JNDI name which means you did not specify the name correctly during the deployment.
    Make sure both the names in java codes and deployment are right and matching. That should solve the problem.

  • 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

  • Javax.jms.*

    This is a very very basic question.
    I am trying to compile a class with javax.jms.*, I already have installed jdk1.3.1_02, I thought this version contains all the JMS jars also, anyways I am getting the following error.
    Publisher.java:1: package javax.jms does not exist
    Does anyone know where to get that jar ? with javax.jms package ?
    Thanks in advance
    - Sairam

    Download and install the J2EE version and keep the j2ee.jar file in the classpath. You can try JMS programs with Sun J2EE server. Otherwise if you have WebLogic server, you can use set weblogic.jar file in classpath
    Sagar

  • What causes javax.jms.JMSException: Can't publish message: Server running low on memory?

    I'm trying to debug a problem with an application running under
              Weblogic 5.11p11, Solaris 2.7. JMS has a JDBC backing store.
              The application runs fine unless we keep it under severe high load for
              a relatively long period of time (say a couple of hours) without
              giving it time to "breath". Then, we start getting these JMS
              exceptions: javax.jms.JMSException: Can't publish message: Server
              running low on memory
              I initially thought this was a GC problem: i thought the GC thread
              wasn't able to "catch up" because the server utilization was high.
              However, when i display Runtime.freeMemory() at the point where i get
              this JMSException, i can see that there is about 16MB (out of 64MB
              totalMemory) of allocatable memory. So it isn't really running out
              of memory!
              I'd appreciate any insights, pointers, etc., about this problem.
              Thank you in advance.
              glauber
              

    JMS 5.1 prevents new messages if the server as at 75% utilization. I think (not sure)
              that this can be turned off if desired, but I would not recommend doing so, as this feature prevents
              JMS messages from "hogging" all of the memory.
              Tom
              glauber wrote:
              > Does the JMS server use a separate pool of memory, or does it share
              > the same Java heap? If it's a separate pool, how can it be set up?
              >
              > glauber
              >
              > [email protected] (glauber) wrote in message news:<[email protected]>...
              > > I'm trying to debug a problem with an application running under
              > > Weblogic 5.11p11, Solaris 2.7. JMS has a JDBC backing store.
              > >
              > > The application runs fine unless we keep it under severe high load for
              > > a relatively long period of time (say a couple of hours) without
              > > giving it time to "breath". Then, we start getting these JMS
              > > exceptions: javax.jms.JMSException: Can't publish message: Server
              > > running low on memory
              > >
              > > I initially thought this was a GC problem: i thought the GC thread
              > > wasn't able to "catch up" because the server utilization was high.
              > > However, when i display Runtime.freeMemory() at the point where i get
              > > this JMSException, i can see that there is about 16MB (out of 64MB
              > > totalMemory) of allocatable memory. So it isn't really running out
              > > of memory!
              > >
              > > I'd appreciate any insights, pointers, etc., about this problem.
              > >
              > > Thank you in advance.
              > >
              > > glauber
              

  • How to update weblogic.properties in order to support English & Chinese

    <URGENT PROBLEM>
    hi,
    how to update weblogic.properties in order to support English & Chinese
    version in a sing weblogic server?
    Thanks in advance
    <URGENT PROBLEM>

    If you are using JSP as your mechanism for content display, you should use
    the contentType parameter to specify the character and coding of the JSP
    page any character encoding of the resulting stream. So far, we have not
    done a good job of documenting how to produce localized content in JSP. I
    have filed an issue for the documentation folks to work on it. For now,
    take a look at section 2.7.4 of the JSP specification version 1.1.
    Thanks,
    Michael
    Michael Girdley
    Product Manager, WebLogic Server & Express
    BEA Systems Inc
    fxy <[email protected]> wrote in message
    news:8ffr11$59d$[email protected]..
    <URGENT PROBLEM>
    hi,
    how to update weblogic.properties in order to support English & Chinese
    version in a sing weblogic server?
    Thanks in advance
    <URGENT PROBLEM>

Maybe you are looking for