JMS Administered Objects

Why are "ConnectionFactory" and "Destination" administered objects?
What does the spec mean by saying that they are administered objects?
What are the advantages of having them as administered objects? (and not any other objects in the spec)?
What are the difficulties in maintaining them programatically? Why should some one admin them? What does the admin do?
Besides the above, I have another Question:
What makes anyone use multiple Sessions in one Connection, instead of using a Single Session to send messages? Why is there a Concept of a Session? Can't it just be Connection?
Can someone throw light on (any of) these?
Thanks,
Kalyan.

hi.
all applications that have a JMS Connection in order to send and receive messages, should have their Connection objects hook to the same server (the JMS provider). It is therefore appropriate that they all use a ConnectionFactory that has the same characteristics and metadata. The easiest way to do it, is to register the ConnectionFactory somewhere in the system that's well-known - e.g. a JNDI service. It doesn't make sense to have all clients configured individually. This is why you administer a ConnectionFactory.
Destination objects are also common to all clients. everyone who uses your JMS provider should have access to the correct list of destinations. again - it just doesn't make sense to configure each client separately, so you register all public Destination objects in the same service (again - JNDI is a good choice).
All other objects are application-specific. a Connection/Session/MessageConsumer (and so on) object is valid only for the application that created it. there's no need to register it elsewhere, because no one else should have access to those objects. Basically, you could say, that only objects that every client should access - are to be administered.
Multiple Session objects on a Connection are used when you want to separate parts of the application. a Session means that you are serializing the delivery of messages. if you have multiple threads in your app, you might want to give each sending thread a different Session object, because otherwise - they will all block on the communal Session.
additionally - you should not use one Session object for both consuming and producing of messages, so -if your app wishes to do both, it should have at least two Session objects.
moreover - when consuming messages, you do not use the same Session object for synchronous and a-synchronous consuming. so - if you need a consumer to block until it gets a message, and you need another consumer to wake up as a listener when a message arrives - you will need two Session objects.
Last but not least, suppose you have two producers in your application. one of them needs to use a transacted Session, and the other one does not - (or you need different acknowledge modes) - you must use multiple Session objects.
hope that helps.
Nimo.

Similar Messages

  • Creating jms administered object

    I am getting the message "Object Not Found Code - 32" while creating jndi naming service under jms administered object stores. Can anyone help me how to create an object.

    Looks like the entry your trying to add doesn't have a parent... I suggest that you check the DN (Context) of the entry you're trying to add and/or that the parent entry exist in your directory.
    Regards,
    Ludovic.

  • Creating the JMS Administered Objects

    Hi.. All
    I am new to JMS..... I have written two simple programs which are given in the examples SimpleQueueSender.java and SimpleQueueReciever.java..
    I successfully Compiled the programs..
    But When I am trying to run the SimpleQueueSender I am getting the following error...
    D:\jms>java SimpleQueueSender MyQueue 3
    Queue name is MyQueue
    BEFORE
    AFTER
    JNDI API lookup failed:javax.naming.NameNotFoundException: Unable to resolve MyQueue. Resolved: '
    ' Unresolved:'MyQueue' ; remaining name ''
    The structure of config.xml is as follows....
    <JMSConnectionFactory JNDIName="SeshuConnectionFactory"
    Name="MyQueue" Targets="myserver"/>
    I am using Weblogic 6.1 Server. I suppose the problem should be in creating the MyQueue JMS Administration Object...
    Please help me out in solving this problem..
    The portion of the code where exactly the exception is rising is as follows....
    System.out.println("BEFORE");
    queueConnectionFactory =(QueueConnectionFactory)jndiContext.lookup("SeshuConnectionFactory");
    System.out.println("AFTER");
    queue =(Queue)jndiContext.lookup(queueName);

    have you configured your queues, topic, connection factory in weblogic through its admin console?
    Ashwani

  • Looking up JMS administered objects in a rich client

    We have JMQ running as a broker. Using 'jmqjmsadm.sh' we added a Topic and a
    TopicConnectionFactory, using
    ../jmqjmsadm.sh t theLogTopic logTopic
    ../jmqjmsadm.sh tf providerTopicFactory TopicConnectionFactory
    and also set up the proxy using
    ../jmspadm theTopicFactory providerTopicFactory
    Everything seemed to work, and all three objects show up under
    SOFTWARE\iPlanet\Application Server\6.0\JMSObjects in kregedit. This is
    depicted in the attached JPG.
    We also have an application client running in the ACC, and this client needs
    to access these JMS objects. My understanding is that iPlanet does NOT
    support resource references for JMS, so even though this is a rich client my
    subsequent expectation is that we would access the connection factory using
    TopicConnectionFactory conFactory = (TopicConnectionFactory) jndi.lookup(
    "java:comp/env/jms/providerTopicFactory" );
    This does not work, unfortunately, resulting in a
    javax.naming.NameNotFoundException, on the lookup on
    "jms/providerTopicFactory". I have, however, also tried looking up
    "java:comp/env/providerTopicFactory", and
    "java:comp/env/jms/TopicConnectionFactory", and none of them are successful.
    I might add thgat an earlier JNDI lookup on an env-entry is successful, so
    the CosNaming is set up OK, as near as I can tell.
    The app client is definitely running in the ACC; it is not a standalone.
    This seems to be a combination (JMS plus rich client running in the ACC)
    that is poorly documented. I am wondering if anyone has any suggestions.
    TIA.
    Regards,
    Arved Sandstrom
    [Attachment jmsobjects.jpg, see below]

    Hi Arved,
    Can you try to set the initial context factory using:
    Properties prop = System.getProperties();
    prop.put("java.naming.factory.initial","com.netscape.server.jms.RefFSContextFactory");
    prop.put("java.naming.provider.url","/");
    and then do a lookup using:
    ctx.lookup("jms/providerTopicFactory");
    Regards,
    Durga
    Arved Sandstrom wrote:
    We have JMQ running as a broker. Using 'jmqjmsadm.sh' we added a Topic and a
    TopicConnectionFactory, using
    ./jmqjmsadm.sh t theLogTopic logTopic
    ./jmqjmsadm.sh tf providerTopicFactory TopicConnectionFactory
    and also set up the proxy using
    ./jmspadm theTopicFactory providerTopicFactory
    Everything seemed to work, and all three objects show up under
    SOFTWARE\iPlanet\Application Server\6.0\JMSObjects in kregedit. This is
    depicted in the attached JPG.
    We also have an application client running in the ACC, and this client needs
    to access these JMS objects. My understanding is that iPlanet does NOT
    support resource references for JMS, so even though this is a rich client my
    subsequent expectation is that we would access the connection factory using
    TopicConnectionFactory conFactory = (TopicConnectionFactory) jndi.lookup(
    "java:comp/env/jms/providerTopicFactory" );
    This does not work, unfortunately, resulting in a
    javax.naming.NameNotFoundException, on the lookup on
    "jms/providerTopicFactory". I have, however, also tried looking up
    "java:comp/env/providerTopicFactory", and
    "java:comp/env/jms/TopicConnectionFactory", and none of them are successful.
    I might add thgat an earlier JNDI lookup on an env-entry is successful, so
    the CosNaming is set up OK, as near as I can tell.
    The app client is definitely running in the ACC; it is not a standalone.
    This seems to be a combination (JMS plus rich client running in the ACC)
    that is poorly documented. I am wondering if anyone has any suggestions.
    TIA.
    Regards,
    Arved Sandstrom
    [Image]--
    Durgaprasad Swaminathan
    iPlanet E-Commerce Solutions, A Sun-Netscape Alliance
    +65 - 337 3658 (DID)
    +65 - 337 4688 (Fax)

  • What is meant by administered objects in jms

    what is meant by administered objects in jms..
    and
    is this Analogy true : JMS Provider like JDBC Driver
    or JMS Provider like DBMS(IBM MQ)
    what that provider is.....

    In my previous job I was developer/administrator etc for the was environment and although I don't know if there are any hard and fast rules to what administered objects are I classed anything that get created in WAS as adminstered objects so that would be the likes of:
    JMS Queues
    JMS Queue Connection Factories
    Datasources
    J2C Aliases
    JDBC Providers e.g. Sybase driver
    In the case of WAS 6+ then that would also include your service integration buses, foreign MQ buses etc.
    Basically anything that you can script using wsadmin
    Hope that helps.
    Matt

  • What are administered objects

    Examples of administered objects are apparently JMS destinations and connection factories, but what exactly are they?
    Can anything "managed" by the container be called an administered object (e.g. EJBs, DataSources, etc)?
    resource-ref is used to indicate "resource manager connection factory" objects, while resource-env-ref is used to indicate "admistered objects associated with resources", though that doesn't clear up much...
    Could anybody please clarify?
    Thanks.

    Administered object is a term used by the connector specification to describe global resources exposed by resource adapters and other backend systems. JMS destinations and connection factories are two good examples.
    Regarding the Java EE private component environment (java:comp/env),
    the original intent was that resource-refs be used to refer to
    factory objects such as JMS Connection Factories and Datasources, whereas resource-env-refs
    refer to opaque resources such as JMS Destinations. In retrospect it
    didn't help that much to make that distinction and it has caused a lot of confusion.
    The annotations in Java EE 5 help abstract a lot of this by allowing @Resource
    to be used for anything that would map to either a resource-ref or resource-env-ref.
    Things like ejb references, web service references, and persistence unit/context references
    each have special enough behavior that they are assigned their own unique environment
    types, so those would not be refered to as administered objects.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Sun One App Server 8.1,Sun One Message Q3.6,administered objects in LDAP

    Hi,
    Has anyone tried hosting an MDB on Sun One App Server 8.1 listening to a queue on Sun One Message Queue 3.6 through administered objects in directory server...? It looks quite straight forward but somehow it doesn't seems to work. Any idea if Sun one app server supports this type of architecture...?
    Regards,
    Pritesh

    Hi,
    Even I didn't see any obvious reason why it shouldn't work untill I found that Sun One App Server 8.1 does not support external JNDI lookup to Sun MQ 3.6 through administered objects. However, it is possible using a newly released generic resource adapter for JMS 1.5 RC1. I am still fighiting on it and let you know if it works.
    I was getting an error "JMS resource can not be created" during deployment time.
    Regards,
    Pritesh Thakor

  • Create administered object

    Hi,
    I have a stand alone application which connect to an EJB server, so I would like to use the JMS provider in my application but I don't want to use my JMS provider for the creation of TopicFactory and Topic (and then use a lookup).
    Is there a portable way to do this?
    The only way I found is like that (with sun MQ) :
         com.sun.messaging.TopicConnectionFactory myConnFactory = new com.sun.messaging.TopicConnectionFactory();
             try {
                  myConnFactory.setProperty("imqAddressList", "mq://localhost:7676/jms");
             } catch (JMSException je) {
             TopicConnection connection = myConnFactory.createTopicConnection();
             TopicSession pubSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
            TopicSession subSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
            com.sun.messaging.Topic myTopic = new com.sun.messaging.Topic();
            try {
                 myTopic.setProperty("imqDestinationName", "new_topic_name");
            } catch (JMSException je) {
            TopicPublisher publisher = pubSession.createPublisher((javax.jms.Topic)myTopic);
            TopicSubscriber subscriber = subSession.createSubscriber((javax.jms.Topic)myTopic);         
            // Set a JMS message listener
            subscriber.setMessageListener(this);
            // Intialize the Chat application
            set(connection, pubSession, subSession, publisher, username);
            // Start the JMS connection; allows messages to be delivered
            connection.start();

    Several JMS implementations support JNDI lookups in pretty much any context. JNDI lookups are the recommended method of creating administered objects and they are for the most part portable (if by portable, you mean portable from JMS provider to JMS provider).
    If you must create concrete objects, the only JMS agnostic method would be reflection and that would be pretty ugly.
    Dwayne
    ============
    http://dropboxmq.sourceforge.net

  • JMS Destination object not found

    Hi everyone,
    I have a weird problem with SunONE Message Queue 3.
    I have a queue and a connection factory defined (using the SunONE Application Server 7 Admin Console) as well as a physical resource.
    I can verify their existance using asadmin....
    asadmin>list-jmsdest -u admin server1
    queue_1 queue {}
    asadmin>list-jms-resources -u admin server1
    jms/newqueue_1
    jms/newQCF_1
    When I attempt to deploy a message driven EJB I get the following error
    SEVERE ( 1484): javax.naming.InvalidNameException: JMS Destination object not found:`jms/newqueue_1`
    This question has already been asked on the App Server board here http://swforum.sun.com/jive/thread.jspa?threadID=15517&tstart=0 (that post is nine months old btw).
    I am posting this here in the hope that someone more familiar with MQ3 may have an idea of how to help us.
    Thanks in advance.

    I have now solved this problem. External JNDI resources are required in the AppServer.
    They can be created with the following commands:
    asadmin>create-jndi-resource jndilookupname jms/newQCF_1 resourcetype javax.jms.QueueConnectionFactory factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi:java.naming.security.authentication=none newQCF_1
    asadmin>create-jndi-resource jndilookupname jms/queue_1 resourcetype javax.jms.Queue factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi newqueue_1
    Both these commands assume that the file system context is being used however the LDAP commands are similar (just more properties).
    This step, which seems vital, is missing from the AppServer documentation (in fact it specifically states that this step is not necessary). The irony is that I found the answer in the IBM MQ documentation!

  • JMS and object serialization

    My Code is mentioned below
    public class PMLCommandDTO  implements Serializable {
        ConfigureTagFilter cfgTagFltrObj;
        WriteTagData writeTagDataObj;
        ExtensionCommand  extnCmdObj;
       // all getter setter method.
    }Now I set ConfigureTagFilter object (which is not serialized) to the
    PMLCommandDTO class.
    PMLCommandDTO serializedObj;
    serializedObj = new PMLCommandDTO();
    serializedObj.setCfgTagFltrObj(cfgTagFltrObj);Now Can I my "serializedObj" is serialized and can I use it to
    javax.jms.ObjectMessage ---- > setObject(Serializable) method.

    Cross post, already being responded in
    http://forum.java.sun.com/thread.jspa?threadID=5214314&tstart=0
    db

  • NPE from JMS Connection Object

    When I try to get the ClientID from a connection using JMX, I get a NPE from the weblogic.jms.frontend.FEConnectionRuntimeDelegate.getClientID(FEConnectionRuntimeDelegate.java:66).
              The following is the full stack trace.
              javax.management.RuntimeMBeanException: RuntimeException thrown by the getAttribute method of the DynamicMBean for the attribute ClientID
                   at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205)
                   at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
                   at javax.management.remote.rmi.RMIConnectionImpl_920_WLStub.getAttribute(Unknown Source)
                   at weblogic.management.remote.common.RMIConnectionWrapper$11.run(ClientProviderBase.java:498)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
                   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
                   at weblogic.security.Security.runAs(Security.java:61)
                   at weblogic.management.remote.common.RMIConnectionWrapper.getAttribute(ClientProviderBase.java:496)
                   at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:854)
                   at com.lordabbett.muni.sma.util.JMXClientCleanupListener.handleNotification(JMXClientCleanupListener.java:173)
                   at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(ClientNotifForwarder.java:496)
                   at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:462)
                   at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83)
              Caused by: javax.management.RuntimeMBeanException: MBean getAttribute failed: java.lang.NullPointerException
                   at weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:527)
                   at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.getAttribute(DynamicMetaDataImpl.java:96)
                   at com.sun.jmx.mbeanserver.MetaDataImpl.getAttribute(MetaDataImpl.java:181)
                   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:638)
                   at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:659)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
                   at weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:281)
                   at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$5.run(AuthenticatedSubjectInterceptor.java:192)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
                   at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.getAttribute(AuthenticatedSubjectInterceptor.java:190)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:269)
                   at weblogic.management.mbeanservers.domainruntime.internal.ManagedMBeanServerConnection.getAttribute(ManagedMBeanServerConnection.java:280)
                   at weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.getAttribute(FederatedMBeanServerInterceptor.java:227)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
                   at weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:281)
                   at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$5.run(AuthenticatedSubjectInterceptor.java:192)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
                   at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.getAttribute(AuthenticatedSubjectInterceptor.java:190)
                   at weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:269)
                   at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1385)
                   at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
                   at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
                   at java.security.AccessController.doPrivileged(Native Method)
                   at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
                   at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:597)
                   at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
                   at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
                   ... 12 more
              Caused by: java.lang.NullPointerException
                   at weblogic.jms.frontend.FEConnectionRuntimeDelegate.getClientID(FEConnectionRuntimeDelegate.java:66)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:499)
                   ... 40 more

    Can you give me the link for the management forum, since weblogic.developer.interest.management talks about a different topic and i could not find .jmx newgroup.
              I got the mbeanserver using the following method:
                   public static void initConnection(String hostname, String portString) throws IOException,
                             MalformedURLException {
                        String protocol = "t3";
                        Integer portInteger = Integer.valueOf(portString);
                        int port = portInteger.intValue();
                        String jndiroot = "/jndi/";
                        String mserver = "weblogic.management.mbeanservers.domainruntime";
                        logger.info("protocol="+protocol);
                        logger.info("hostname="+hostname);
                        logger.info("port="+port);
                        logger.info("jndiroot="+jndiroot);
                        logger.info("mserver="+mserver);
                        JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver);
                        Properties p = ApplicationResources.getResourceAsProperties(SmartPMConstants.SMARTPM_APPLICATION_RESOURCE);
                        String wluser = p.getProperty(SmartPMConstants.SMARTPM_WLUSER);
                        String wlpwd = p.getProperty(SmartPMConstants.SMARTPM_WLPWD);
                        Hashtable h = new Hashtable();
                        h.put(Context.SECURITY_PRINCIPAL, wluser);
                        h.put(Context.SECURITY_CREDENTIALS, wlpwd);
                        logger.info("user cred="+h);
                        h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
                        connector = JMXConnectorFactory.connect(serviceURL, h);
                        connection = connector.getMBeanServerConnection();
                   }

  • Stand-Alone Client to Access JMS Resource without ACC

    I'am having trouble to run the JMS SimpleProducer example from the JMS tutorial as a Stand-Alone application.
    Although its works as suggested when run inside an ACC. (The tutorial I refer to: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JMS5.html#wp79822 )
    The JMS provider I use is Sun Java System Application Server Platform Edition 8.2 (build b06-fcs).
    Its documentation states that one could run a client outside the ACC and still access JMS:
    http://docs.sun.com/source/819-0217-10/dgacc.html#wp1022252
    Following those instructions throws an exeption when invoking
    Context jndiContext = new InitialContext();
    jndiContext.lookup("jms/ConnectionFactory");Of course I did add the three required libraries (appserv-rt.jar, j2ee.jar, imqjmsra.jar) and added the VM arguments to point the client's orb to the JSAS. Also, the JMS administed object exist, admin console shows them and example in ACC worked fine.
    The last step of the tutorial says: "� As long as the client environment is set appropriately and the JVM is compatible, you merely need to run the main class." Is there anything I miss? Btw. I run the example on Mac OS X 10.4.6 and Java 1.5.0_06.
    Why does the exception refer to org/netbeans/modules/schema2beans/BaseBeanThat is the exception thrown:
    Destination name is jms/Queue
    04.04.2006 16:25:12 com.sun.corba.ee.spi.logging.LogWrapperBase doLog
    INFO: "IOP00710299: (INTERNAL) Successfully created IIOP listener on the specified host/port: all interfaces/49648"
    Exception in thread "main" java.lang.NoClassDefFoundError: org/netbeans/modules/schema2beans/BaseBean
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at com.sun.enterprise.connectors.ConnectorAdminServicesFactory.getService(ConnectorAdminServicesFactory.java:35)
            at com.sun.enterprise.connectors.ConnectorRuntime.createServices(ConnectorRuntime.java:109)
            at com.sun.enterprise.connectors.ConnectorRuntime.getRuntime(ConnectorRuntime.java:71)
            at com.sun.enterprise.naming.factory.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:55)
            at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:293)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at SimpleProducer.main(SimpleProducer.java:66)
    Java Result: 1

    Adding a fourth jar from the JSAS to the standalone application resolves the problem: appserv-admin.jar - available at install_dir/lib/appserv-admin.jar
    Does the tutorial miss this or is there anything I missunderstood?

  • Using ActiveMQ as JMS Server for 11g BPEL?

    I have 11g SOA and ActiveMQ 5.4.1 running on the same Linux server. I would like to configure SOA to be a client of the ActiveMQ server so my BPEL process can receive the JMS messages. I will need to use correlations to get the message to the right BPEL process. I'm not sure how the SOA service performs this task.
    We have several 10g BPEL applications that we need to port to the 11g install. They were originally written using Oracle's AQ. If someone knows of a document that could explain this transition, that would be a great help. Also, a document explaining how to configure SOA to be an ActiveMQ client would be of equal great help. I have searched the WEB and haven't found anything, but I have to think this is easier for the 11g WebLogic implementation.

    You can register any compliant JMS provider as a foreign jms provider in weblogic and then can access the JMS administered objects (destination and connection factory) from the local weblogic JNDI tree.
    This blog shows how to configure AQJMS as a foreign JMS provider and then configure JMS adapter to access the jms objects.
    http://biemond.blogspot.com/2009/07/using-aq-jms-text-message-in-wls-1031.html
    You can use the above link as a reference on how to setup. You will have to modify the Initial Context Factory, Provider URL, JNDI Properties, foregin connection factories and foreign detsinations section to suit activeMQ.
    Note: Weblogic does not come inbuild with the required jars to connect to ActiveMQ unlike AQJMS, so you need to ensure that the active mq jms client jars are available in the weblogic's classpath.

  • BPEL Interaction Pattern - Using JMS as the medium

    Objective : Make one MAIN Business Process out of BPEL that would receive the Message from Userinput or some other source and finally after doing all operations inside BPEL process (that would happen using BPEL Sub processes that exchange data using JMS send and receive inside the different queues ). Finally the MAIN Business Process would receive the response from BPEL sub process send it to Database at the end. We would like to develop a single BPEL process that would represent a Business Process say like Order Create and internally we would invoke various Sub BPEL process to work on the payload and give a handshake using JMS as the medium rather than another BPEL process makes a direct handshake to the invoking/calling process.
    Steps Attempted :
    a) BPEL Process receives the message from Input (User input of Purchase Order) and do some transformation later publish the message to Queue by configuring JMS Adapter to Produce it. Next step inside the same BPEL process tries to receive it using the JMS Adapter to consume it. It keeps waiting forever without consuming the message
    b) BPEL Process (A) receives the message from (User input of Purchase Order) and do some transformation later send the message to another BPEL Process (B) that would receive the input message. BPEL Process B writes into the Queue using JMS Adapter. In this case also BPEL Process (A) configured to receive the message from the QUEUE where the BPEL PRocess B has sent. BPEL Process A waits for the message to arrive for ever.
    Some behaviours we noticed ,
    1) Queue messages are being dequeued (JMX Browser in OEM shows no messages). But BPEL console shows the BPEL Process A is waiting for it to arrive. I believe it is consuming the message but unable to kickoff from receive (JMS activity) activity configured in the BPEL.
    2) We ensured that no other BPEL Process is consuming by creating a new Queue by name DemoQueue4 that would be used by the BPELProcess A and BPEL Process B.
    3) BPEL Process A and BPEL Process B are ASYNCHRONOUS Process. BPEL Process B receives the input and writes into the Queue does not call back to BPEL Process A. BPEL Process A would listen to the Queue to receive it inside the BPEL Process A.
    Am I trying something architecturally not possible ?
    Thanks
    Nags.
    Message was edited by:
    cdmnagaraj

    You can register any compliant JMS provider as a foreign jms provider in weblogic and then can access the JMS administered objects (destination and connection factory) from the local weblogic JNDI tree.
    This blog shows how to configure AQJMS as a foreign JMS provider and then configure JMS adapter to access the jms objects.
    http://biemond.blogspot.com/2009/07/using-aq-jms-text-message-in-wls-1031.html
    You can use the above link as a reference on how to setup. You will have to modify the Initial Context Factory, Provider URL, JNDI Properties, foregin connection factories and foreign detsinations section to suit activeMQ.
    Note: Weblogic does not come inbuild with the required jars to connect to ActiveMQ unlike AQJMS, so you need to ensure that the active mq jms client jars are available in the weblogic's classpath.

  • How to read mq message through jms

    Hi
    can anyone tell me how we can read an mq message through jms transport or by using jms adapter.
    Thanks in advance.

    A JMS program will be written typically to lookup administered objects ( namely connection factory and destination) from a jndi tree and use these to connect to the jms provider and read/write message to the destination. So administrators of the JMS provider usually create these objects and bind it to a jndi , which then can be used by the jms applications by doing a lookup from the jndi tree.
    Websphere MQ is a messaging provider which provides a native MQ API in many languages including Java for applications to talk to it. This is a IBM proprietary API and is not same as JMS. Later when JMS became more interoperable and the standard for java based messaging applications, IBM introduces the MQ JMS API which is a wrapper around the native MQ API, so that now java clients can talk to MQ using the JMS API. Since jms applications need to lookup the administered objects, IBM came up with the utility called JMSAdmin which allows MQJMS administers to create and bind JMS administered objects. The utility is flexible that it allows the objects to be binded to different type of JNDI trees - file based, ldap based etc. But the most widely used and robust one is the file based.
    So as part of configuration the first thing is to create the queue and queue manager objects by the MQ Administrator.
    A MQ JMS administrator will then create the JMS wrapper objects using the JMSAdmin utility and bind it to the file based jndi tree ( a file called .bindings)
    Now we need the application running in weblogic server ( the JMS Adapter ) to lookup these objects from the file based jndi tree. So for this we create a foreign jms server. A foreign jms server allows to create local jndi links (in weblogic's server jndi tree) for objects in a remote jndi provider (the .bindings file).
    Finally the application will look up the local jndi name from the local jndi which will automatically resolve to the remote provider and use it.
    The steps in the IBM developer work link folliows this sequence.
    Hope this helps.

Maybe you are looking for

  • Does anyone know how to get photos from iCloud back on your iPhone?

    I was having issues with my iPhone 4 not charging anymore. I went to the apple store today and ended up having to buy a replacment phone. When I was going through the set-up, I tried to do an iCloud restore but wasn't able to as the new iPhone didn't

  • What is the correct Sun Java version for Plus ?

    OK so I am running Version 1.4.2_06 (build 1.4.2_06-b03) for Disco Plus.. Is that the correct version ? I am trying to debug an error (Outstanding Refresh) and I need to eliminate the Java version being the cause: Can anyone confirm ? thanks OBX Orac

  • Turn off long headers in Apple Mail

    OS X 10.6.8 Mail is coming in with long headers. View > Message > Long Headers/Default Headers does not change. Any advice?

  • Report Execution time in NQQuery.log should be display in Milliseconds

    Report Execution time in NQQuery.log should be display in Milliseconds. For Example : --- Logical Query Summary Stats: Elapsed time 0, Response time 0, Compilation time 0 (seconds) Can we see the logical Query Summary Stats in milliseconds? If so Whe

  • Re: SHUTTLE ISSUE

    Hi, I have had a similar issue, the problem occurs on the left side of the shuttle. Its hard to replicate as it never occurs frequently. Here is a screenshot : http://postimg.org/image/erhc52n5v/ Thank you, Chris