Does jms distributed queue support automatic service migration?

As the migration document of Weblogic mentioned, the jms distributed queue can be manually migrated, but the document doesn't talk about automatic migration of jms distributed queue. Does jms distributed queue support automatic service migration? Anybody can help me? Thanks a lot.

When you look at configuring JMS, you do something like:
Create a JMS server that will contain one or more JMS destinations and will live on a particular server instance.
Next you create a JMS module and target it to a cluster. Within the module you create a distributed queue (destination).
Note that it is the JMS server which is the so-called pinned service. For pinned services you can configure migratable targets
the way you want it (http://download.oracle.com/docs/cd/E13222_01/wls/docs81/jms/config.html#1056368)

Similar Messages

  • Programming for Using JMS Distributed Queues

    Hi,
    Does anyone know specifically how your meant to write java code in order to fully make use of JMS Distributed queues. At the moment we have a 3rd party app, which I don't think is written correctly, as it always locks up after using a distributed queue, or a consumer is at 0 on one of the members of the distributed queue, when it should always should be constant and uniform.
    Its as if their code hasn't been written correctly.

    Distributed queue applications are encouraged to leverage WebLogic MDBs, which automatically ensure that consumers are attached to each distributed queue member, and to write applications in a way that has no dependency on which JVM a particular message is processed.
    At a guess, the third party product is setting up a consumer on one member of the distributed Q, while messages are being produced to the other member. If this assumption is true, here are some thoughts:
    * Consider using a single Q for the third party product's usage instead of a distributed queue. Configuring a distributed queue is not adding any high availability, as the product is expecting all messages to pin to the same Q instance.
    * Producers and consumers load-balance independently, but, when "affinity" and "load balance" are both configured to false on a Producer's connection factory, producers will have a tendency to load balance to the member that hosts more than one consumer. This might help somewhat, but my guess is that it won't help in all cases -- for example, after a restart I'm not sure that there's a guarantee that the consumer won't load balance to the "wrong" member (the member that has no messages).
    * It might help to enable "queue forwarding" on the distributed queue configuration. This feature automatically forwards messages trapped in a destination that has no consumers to a queue that has consumers. "Queue forwarding" is not compatible with WebLogic's "unit-of-order" feature, but it's likely the third party product isn't using this feature. Queue forwarding also imposes a performance penalty - but whether you notice the difference depends on whether you have high performance requirements.
    Hope this helps,
    Tom
    Edited by: TomB on Mar 9, 2011 6:28 PM

  • Does my iphone 4s support GSM service?  I recently upgraded to this smartphone from a AT

    Does my iphone 4s support GSM service?  I recently upgraded to this smartphone from an AT&T Non-smartphone and now I am not able to access data coverage at my cabin upnorth. AT&T says I only have GSM coverage in this location.  Is there something I can do to make my iphone 4s do to pick this service up?

    That model shows as non-CDMA iPhone 4s
    http://support.apple.com/kb/HT3939?viewlocale=en_US&locale=en_US
    It will support GSM. You will have to work with your carrier to
    get the signal improved. In the past, with AT&T, if you complained
    enough they would provide you with a MiFi device - but that only
    helps if you have an internet connection already in place.
    Your problem may be due to the remote location - particularly if you
    are not in cell phone range due to lack of towers. But the responsibility
    belongs to the AT&T. Is the problem that you can make/get phone
    calls but do not have enough bandwidth for streaming video/audio?
    Or is there no connection whatsoever?

  • Does the advanced queue support setting the pay load type as array/table?

    Does the advanced queue support setting the pay load type as array/table?
    if yes, how to write the enqueue script, I tried to write the following the script to enqueue, but failed, pls help to review it . Thanks...
    ------Create payload type
    create or replace TYPE "SIMPLEARRAY" AS VARRAY(99) OF VARCHAR(20);
    ------Create queue table
    BEGIN DBMS_AQADM.CREATE_QUEUE_TABLE(
    Queue_table => 'LUWEIQIN.SIMPLEQUEUE',
    Queue_payload_type => 'LUWEIQIN.SIMPLEARRAY',
    storage_clause => 'PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 TABLESPACE USERS',
    Sort_list => 'ENQ_TIME',
    Compatible => '8.1.3');
    END;
    ------Create queue
    BEGIN DBMS_AQADM.CREATE_QUEUE(
    Queue_name => 'LUWEIQIN.SIMPLEQUEUE',
    Queue_table => 'LUWEIQIN.SIMPLEQUEUE',
    Queue_type => 0,
    Max_retries => 5,
    Retry_delay => 0,
    dependency_tracking => FALSE);
    END;
    -------Start queue
    BEGIN
    dbms_aqadm.start_queue(queue_name => 'LUWEIQIN.SIMPLEQUEUE', dequeue => TRUE, enqueue => TRUE);
    END;
    -------Enqueue
    DECLARE
    v_enqueueoptions dbms_aq.enqueue_options_t;
    v_messageproperties dbms_aq.message_properties_t;
    p_queue_name VARCHAR2(40);
    Priority INTEGER;
    Delay INTEGER;
    Expiration INTEGER;
    Correlation VARCHAR2(100);
    Recipientlist dbms_aq.aq$_recipient_list_t;
    Exceptionqueue VARCHAR2(100);
    p_queue_name VARCHAR2(40);
    p_msg VARCHAR2(40);
    p_payload LUWEIQIN.SIMPLEARRAY;
    BEGIN
    p_payload(1) := 'aa';
    p_payload(2) := 'bb';
    SYS.DBMS_AQ.ENQUEUE(queue_name => 'LUWEIQIN.SIMPLEQUEUE',enqueue_options => v_enqueueoptions, message_properties => v_messageproperties, msgid => p_msg, payload => p_payload);
    END;
    ------Get error
    Error starting at line 1 in command:
    DECLARE
    v_enqueueoptions dbms_aq.enqueue_options_t;
    v_messageproperties dbms_aq.message_properties_t;
    p_queue_name VARCHAR2(40);
    Priority INTEGER;
    Delay INTEGER;
    Expiration INTEGER;
    Correlation VARCHAR2(100);
    Recipientlist dbms_aq.aq$_recipient_list_t;
    Exceptionqueue VARCHAR2(100);
    p_queue_name VARCHAR2(40);
    p_msg VARCHAR2(40);
    p_payload LUWEIQIN.SIMPLEARRAY;
    BEGIN
    p_payload(1) := 'aa';
    p_payload(2) := 'bb';
    SYS.DBMS_AQ.ENQUEUE(queue_name => 'LUWEIQIN.SIMPLEQUEUE',enqueue_options => v_enqueueoptions, message_properties => v_messageproperties, msgid => p_msg, payload => p_payload);
    END;
    Error report:
    ORA-06550: line 17, column 3:
    PLS-00306: wrong number or types of arguments in call to 'ENQUEUE'
    ORA-06550: line 17, column 3:
    PL/SQL: Statement ignored
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause: Usually a PL/SQL compilation error.
    *Action:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    but when I use the following script to enqueue get error. Pls help to review. Thanks...
    DECLARE
    v_enqueueoptions dbms_aq.enqueue_options_t;
    v_messageproperties dbms_aq.message_properties_t;
    p_queue_name VARCHAR2(40);
    Priority INTEGER;
    Delay INTEGER;
    Expiration INTEGER;
    Correlation VARCHAR2(100);
    Recipientlist dbms_aq.aq$_recipient_list_t;
    Exceptionqueue VARCHAR2(100);
    p_queue_name VARCHAR2(40);
    p_msg VARCHAR2(40);
    p_payload LUWEIQIN.SIMPLEARRAY;
    BEGIN
    p_payload(1) := 'aa';
    p_payload(2) := 'bb';
    SYS.DBMS_AQ.ENQUEUE(queue_name => 'LUWEIQIN.SIMPLEQUEUE',enqueue_options => v_enqueueoptions, message_properties => v_messageproperties, msgid => p_msg, payload => p_payload);
    END;
    ------Get error
    Error starting at line 1 in command:
    DECLARE
    v_enqueueoptions dbms_aq.enqueue_options_t;
    v_messageproperties dbms_aq.message_properties_t;
    p_queue_name VARCHAR2(40);
    Priority INTEGER;
    Delay INTEGER;
    Expiration INTEGER;
    Correlation VARCHAR2(100);
    Recipientlist dbms_aq.aq$_recipient_list_t;
    Exceptionqueue VARCHAR2(100);
    p_queue_name VARCHAR2(40);
    p_msg VARCHAR2(40);
    p_payload LUWEIQIN.SIMPLEARRAY;
    BEGIN
    p_payload(1) := 'aa';
    p_payload(2) := 'bb';
    SYS.DBMS_AQ.ENQUEUE(queue_name => 'LUWEIQIN.SIMPLEQUEUE',enqueue_options => v_enqueueoptions, message_properties => v_messageproperties, msgid => p_msg, payload => p_payload);
    END;
    Error report:
    ORA-06550: line 17, column 3:
    PLS-00306: wrong number or types of arguments in call to 'ENQUEUE'
    ORA-06550: line 17, column 3:
    PL/SQL: Statement ignored
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause: Usually a PL/SQL compilation error.
    *Action:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Monitoring jms distributed queue on WebLogic 8.1 via MBeans

    Good afternon,
    please do you have someone java code (only basic enough !) for jmx monitoring jms distributed queue on weblogic 8.1 (Monitor all Active JMS Destinations and there Consumers, Consumers High, Consumers Total and so on..). Think should be used JMSDestinationRuntimeMBean interface but have no idea how write the code.
    Thank you for any hint
    Lada Dvorak

    This is a simple jmx sample code based on WLS 8.x
    import javax.naming.Context;
    import java.util.Set;
    import java.util.Iterator;
    import java.io.PrintWriter;
    import java.io.FileOutputStream;
    import weblogic.jndi.Environment;
    import weblogic.management.MBeanHome;
    import weblogic.management.WebLogicMBean;
    import weblogic.management.WebLogicObjectName;
    public class ListAllMBeans{   
         public static void main(String args[]) {       
              String url = "t3://localhost:7001";
              String username = "weblogic";
              String password = "weblogic";
              PrintWriter pWriter = null; // print without buffering
    try {            //Obtaining an MBeanHome Using JNDI           
                   Environment env = new Environment();
                   env.setProviderUrl(url);
                   env.setSecurityPrincipal(username);
                   env.setSecurityCredentials(password);
                   Context ctx = env.getInitialContext();
                   MBeanHome home = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    Set allMBeans = home.getAllMBeans();
                   System.out.println("Size: " + allMBeans.size());
                   for (Iterator itr = allMBeans.iterator(); itr.hasNext(); ) {              
                        WebLogicMBean mbean = (WebLogicMBean)itr.next();
                        WebLogicObjectName objectName = mbean.getObjectName();
                        pWriter = new PrintWriter(new FileOutputStream("JMXType.txt", true), true);
                        pWriter.println(objectName.getName() + " is a(n) " + mbean.getType());
                        //System.out.println(objectName.getName() + " is a(n) " + mbean.getType());
              }catch(Exception e){           
                   System.out.println(e);
    I hope this will be helpful to you.

  • JMS automatic Service migration - need to re-deploy ?

    Hi
    We re-configured the settings to use weblogic 10.3's automatic JMS service migration. (Exactly once type)(DB lease)
    Even though the migration happened successfully from a managed server to another, application had to be manually redeployed (through console) so that they can re-connect to the messaging system.
    In the above scenario, Is there a way to connect the applications to the messaging system without re-deploying them? Did I miss something in the settings ?
    We are not considering node-managers and post-migration script as of now.
    Thanks in advance,
    Rao

    I couldn't get whats wrong with the current settings after going through docs.
    Previous settings -
    1 admin server
    2 managed servers
    1 jmsServer1 targeted on managedServer1
    persistentStore targeted on managedServer1
    1 jms module containing xa connection factory and jms queues deployed on jmsServer1
    Application containing mdbs deployed on cluster.
    This was working fine without any issues - creating 1 mdb instance per server - so total 2 on the cluster.
    Since the above settings depends on the availability of managed1, we decided to use migratable taget.
    Current settings -
    1 admin server
    2 managed servers
    1 jmsServer1 targeted on "managedServer1Migratable" (Tried both manual and exactly once type)
    persistentStore targeted on "managedServer1Migratable".
    1 jms module containing xa connection factory and jms queues deployed on jmsServer1
    Application containing mdbs deployed on cluster.
    "managedServer1Migratable" having ups as managed1 and both managed1 & managed2 in the candidate server list.
    cluster migration lease set to db. active table created.
    machine configured for the cluster - both the managed servers added to the same machine - since they reside on the same box.
    Then start the admin, managed1 server.
    Deplyments going into active with OK status once the migration succeeds.
    Then start managed2 server.
    Deployments go to active status with WARNING status.
    ".... providerUrl is null" seen while managed2 server is starting up.
    Tried with unicast cluster also with same result.
    Note that the error message is seen before the server goes into RUNNING state. Is there a way to delay deployment?
    Tried 'start-mdb-...' option as false but did not see nay difference.
    Guidance to solve this error is greatly appreciated. I am getting lost here.

  • JMS distributed queue on response

    I have an ALSB business service sending requests to a distributed JMS queue and getting a response back from a distributed JMS queue using the correlation ID correlation pattern.
    This approach seems to work just fine in my tests, but the ALSB documentation seems to indicate I must use the MessageID correlation pattern when using distributed queues.
    My other coworkers seem to think this technique wont work as volumes increase. They say the business service is actually "pinned" to a specific physical response queue member in the distributed queue. If responses happen to go to a different member, the business service wont pick up the response.
    Question: Is this a supported technique?
    If not, is it correct to say one might use distributed queues for requests but should always specify physical queues for the response?

    If you refer to distributed queue for topic based messaging, then correlationId is the right approach. If you are using a clustered JMS server, messageId is the right approach.
    Gregory Haardt
    ALSB Prg. Manager
    [email protected]

  • JMS Distributed Destinations as proxy service endpoints

    We have a cluster of 2 ALSB servers with a proxy service deployed
    listening on a JMS queue which is a distributed destination (DD) on a
    WLS 8.1 system.
    The JMS DD is spread across 4 JMS servers and 4 JVM's.
    When ALSB starts up - we only get consumers on 2 of the 4 DD members,
    which makes sense as a JMS proxy service is essentially an MDB, and this
    is normal MDB/distributed destination behaviour - it will bind to the
    queue member where it first makes the connection to the JVM.
    How do I make sure my messages are consumed from all 4 DD queue members?
    There is a JMS option to forward messages to queues with consumers if no
    consumers exist - is that the way to do it?
    Someone must have come across this before and I'd be grateful for any
    advice.
    Also - how do you reduce the consumers on the JMS queue - seems to
    default to 16. Perhaps you don't.
    Thanks,
    Pete

    Meghan Pietila wrote:
    Update: I see your exchange with Tom over on the JMS forum, Pete. We just switched everything to WLS 9.2, so maybe the ALSB internal extension will work for us. It's not working by default, so possibly it's something that must be activated... I'll follow up with BEA.
    http://forums.bea.com/thread.jspa?threadID=570001317
    I'd still like to hear what you end up working with, if you don't mind sharing once it's running. :)
    MeghanI only have 8.1 as an option - a JMS proxy service is essentially an
    MDB, and if you deploy an MDB in the same way, it will only bind to a
    single destination, so it's actually behaving as I would expect.
    The forward delay on the queue probably won't be an issue for us, as
    we're not talking about high volumes and large messages, but for some
    sites there will be alot of moving around queues, access jms filestore
    etc which you could do without.
    I reckon the trick is (as Tom mentioned) to bind to individual
    distributed queue members from the proxy service somehow.
    I'll let you know what I find out.
    Pete

  • Does apple ipad air support 4g services in india?

    I want to buy an appli iPad air.I want to know whether it supports 4G services from Airtel / Vodafone?

    If you get the cellular version, yes.

  • Does BPEL Server have support "Web Services Transactions specifications"?

    The Web Services Transactions specifications define mechanisms for transactional interoperability between Web services domains and provide a means to compose transactional qualities of service into Web services applications.
    Have anyone can explain oracle process manager have any support about "Web Services Transactions specifications" ?
    or oracle BPEL process manager how to coordinate the actions of distributed applications. Such coordination protocols are used to support a number of applications, including those that need to reach consistent agreement on the outcome of distributed activities.
    appreciate any idea for this issue, thanks a lot.

    You have a number of options.  You can use the built in Screen Sharing application, you can purchase Apple Remote Desktop for each user, you could look at 3rd party tools like GoToMyPC or if you are looking to replace Terminal Services look at AquaConnect. 
    The tool you use will be determined by what the users have at home.  If they are also using Macs, they can use all the native tools.  If they are on PC, they can use either a VNC client or many of the 3rd paty tools.

  • 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

  • WebLogic 12.1.2 erases subdeployment on Distributed Queue when targeted to multiple JMS Servers

    Update: verified in a 12.1.1.0 (JDK6) cluster - bug does not occur there.
    Hi,
      I have been migrating an 10.3.5.0 server to WebLogic 12.1.2.0 and have been unable to keep the subdeployment dropdown populated in the subdeployment tab of a uniform distributed queue when the subdeployment targets more than 1 JMS Server.
      If I uncheck one of the servers - I work fine - however I would like to target all JMS Servers in the cluster - this used to work fine in 10.3.5.0
      Following
    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jms_modules/distributed_queues/CreateUniformDistributedQueues.html
      I am able to create a new queue no problem against the multiple-server subdeployment - but when I navigate to the subdeployment dropdown - the target is erased with "None".
    If I save the subdeployment after setting it during the queue create - it is erased
    <sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
    Before:
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
      <uniform-distributed-queue name="HousekeeperControlQueue">
        <sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
        <jndi-name>jms/HousekeeperControlQueue</jndi-name>
      </uniform-distributed-queue>
    </weblogic-jms>
    After:
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
      <uniform-distributed-queue name="HousekeeperControlQueue">
        <jndi-name>jms/HousekeeperControlQueue</jndi-name>
      </uniform-distributed-queue>
    </weblogic-jms>
    Workaround:
    - upon server startup the config is valid - just dont re-save the jms module or the subdeployment target will be erases
    - also when creating a new subdeployment you will be able to select it from a jms distributed queue in the advanced targeting section even if it contains expected multiple JMS servers
    - you will not however be able to edit the JMS queue once created - if there is any change to targeting - recreating the queue is required
      thank you
      /michael

    Update: verified in a 12.1.1.0 (JDK6) cluster - bug does not occur there.
    Hi,
      I have been migrating an 10.3.5.0 server to WebLogic 12.1.2.0 and have been unable to keep the subdeployment dropdown populated in the subdeployment tab of a uniform distributed queue when the subdeployment targets more than 1 JMS Server.
      If I uncheck one of the servers - I work fine - however I would like to target all JMS Servers in the cluster - this used to work fine in 10.3.5.0
      Following
    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jms_modules/distributed_queues/CreateUniformDistributedQueues.html
      I am able to create a new queue no problem against the multiple-server subdeployment - but when I navigate to the subdeployment dropdown - the target is erased with "None".
    If I save the subdeployment after setting it during the queue create - it is erased
    <sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
    Before:
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
      <uniform-distributed-queue name="HousekeeperControlQueue">
        <sub-deployment-name>MW-JMS-SubDeployment</sub-deployment-name>
        <jndi-name>jms/HousekeeperControlQueue</jndi-name>
      </uniform-distributed-queue>
    </weblogic-jms>
    After:
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
      <uniform-distributed-queue name="HousekeeperControlQueue">
        <jndi-name>jms/HousekeeperControlQueue</jndi-name>
      </uniform-distributed-queue>
    </weblogic-jms>
    Workaround:
    - upon server startup the config is valid - just dont re-save the jms module or the subdeployment target will be erases
    - also when creating a new subdeployment you will be able to select it from a jms distributed queue in the advanced targeting section even if it contains expected multiple JMS servers
    - you will not however be able to edit the JMS queue once created - if there is any change to targeting - recreating the queue is required
      thank you
      /michael

  • Drop jms messages from distributed queue

    hello
    i am searching info for making one script (wlst?) for deleting messages from one jms distributed queue and i dont find it.
    can you help me?
    thanks

    You can use the wlst scripts described in How to list total number of message in specific Topic/queue using wlst comm to find the right destination runtime MBean. Then call deleteMessages('true') on the destination runtime MBean. The method deleteMesages() takes a selector expression.
    Hope this helps.
    Dongbo
    Edited by: Dongbo on Mar 14, 2012 10:44 AM

  • Message payload logging for Uniform Distribute Queue

    Hi All,
    We have a requirement to log the message payload, of every jms message received in a Uniform Distribute Queue in Weblogic.
    Please let us know how can we achieve this.
    Thanks.

    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

  • Cannot retrieve data in all members of my distributed queue

    I have a distributed queue with 3 members, queue member 1, queue member 2, and queue member 3.
    I triggered 2 events separately to go to the distributed queue, and it was successful as the 1st event triggered went to queue member 1 (physical queue1 – located on server 1) and the next event sent on the next trigger went to queue member 2 (physical queue 2 – located on server 2).
    The problem now is, after triggering a job that gets the event from distributed queue, only the event in queue member 1 was picked up. The job got completed without picking up the event in queue member 2 (different VM). The data in queue member 2 was left. The config file for the JMS Queue Connectivity may be seen below:
    jms.url=t3://<MS1_IP>:<MS1_PORT>,<MS2_IP>:<MS2_PORT>,<MS3_IP>:<MS3_PORT>
    jms.connfactory=ConnFactoryName
    jms.timeout=30000
    jms.queue=DistributedQueueName
    Note also that the connection factory is deployed to all managed servers as I could see the connection factory in the jndi tree of each managed server.
    Our job was able to get data from each of the managed server, one by one. An example I tried is I placed an event in queue member 1 then triggered the job, then the data was picked up. Then next, I placed the data in queue member 2 (with no other data in queue member 1 and 3), then the data in queue member 2 was picked up after the job run, and same when placed only in queue member 3.
    The main problem here is when there are data in all of the physical queues (queue member 1 to 3). As if the application is focused only to one physical queue, which shouldn’t be. Researching now how should it read all the members in the distributed queue.

    Hi,
    A comma separated URL list helps a client setup its initial JNDI connection into the cluster - it doesn't directly control load balancing of future JEE EJB, RMI, or JMS calls. By default, for remote clients, JEE calls will automatically load balance a new direct connection randomly among all servers in the cluster, even if the initial JNDI URL only references a single server's address. It's actually not truly random, as there may be internal heuristics that effect the load balance decision, plus the behavior is actually tunable, but, for almost all use cases, its best to stay with the default behavior and think of it as effectively random.
    WebLogic JMS load-balancing actually occurs at three layers: URL/DNS, "smart stub" connection creation (RMI, EJB, and JMS connection factory), and finally the distributed destination layers. For a full end-to-end explanation of load balancing at the different layers of the WL stack, I highly recommend the JMS chapter of the book "Professional Oracle WebLogic".
    What's happening in your case is that JMS individual consumer always load balances to one particular queue member, and then sticks to that queue member for their lifetime. This is expected behavior for consumer load balancing, and is fully documented in the distributed destination documention of the JMS programmer's guide.
    If you want to ensure full coverage of a distributed queue, in order of highest to lowest preference:
    * Most highly recommend: Use a WL MDB or a 11gR1PS3 SOA Adapter (if you happen to be using Oracle's SOA layered product). These automatically ensure that all distributed queue members are serviced by at least one dedicated consumer.
    * Ensure you have more sessions+consumers than queue members. Periodically refresh connections/sessions/consumers in order to ensure that newly started members are serviced even when all consumers are already connected (eg, code your clients to reconnect every few minutes).
    * If your application is not performance sensitive, configure the "queue forward delay" setting on a distributed queue. Messages that are trapped on a queue member with no consumers for longer than this delay will be automatically forwarded a member that has consumers.
    * Least recommended, very advanced usage only: Code clients to use the new 10.3.4 public "destination availability" extensions. These extension APIs provide a notification service for distributed destination member up/down events.
    Regards,
    Tom

Maybe you are looking for

  • Liquid Layout crashing InDesign CS6

    I was using liquid layout - pinning a graphic-  and when I tried to resize, the whole program crashed.   Every time I try to resize - on any page in the doc, it crashes the program.   InDesign CS6.   Liquid page rule:  controlled by master [which is

  • Photoshop thumbnails display improperly in Finder colum view

    I've just been noticing that Photoshop files with Channel masks do not display thumbnails properly in Finder colum view. The thumbnail is displayed with the mask blocking the image, rather than the composite view. This only occurs in Colum view; Icon

  • Lookup Flat Table and Lookup Qualifier Table

    Hi, Can any body confirm that if I will change the type of lookup-flat type field to lookup-qualifier type field. But the structure of Lookup Flat table and Lookup Qualifier table will be the same then the Java code written to populate the lookup-fla

  • How can i use my own Fonts in iCloud Pages?

    How can i use my own Fonts in iCloud Pages?

  • Building Dynamic web sites... where do you start these days?

    OK... first off, I'm no coding expert but I have used Dreamweaver for many years to build web sites using a pretty basic ms access databases to generate a few dynamic web pages in .asp. My question is, since the changes following Adobe Dreamwever CS5