Creating JMS Topic using JMX/MBeans Interface

Hello,
I'm trying to create a JMS Topic using MBeans. For this, I first
create a JMSTemplateMBean, then I create a JMSServerMBean (do
setTemporaryTemplate() and addTarget() on the latter) and finally
create JMSTopicMBean. On the JMSTopicMBean, I do setJNDIName() and
jmsServerMBean.addDestination(topicMBean).
Problem is that when I look in the console, I see only the JMS
Template and JMS Server (JMS Topic is NOT there). But if I try to
rerun my program, it gives 'InstanceAlreadyExistsException' on the
JMSTopic. Also, when I print out all the MBeans, the JMSTopic MBean is
there i.e. its been created. So why won't it show up in the Console ?
Any ideas are appreciated.
Thanks
-PG

I'm having exact same problem, except I'm trying to go through the weblogic.Admin command-line tool. (I'm working with version 6.1) First I create a JMSServer and set its Targets property. It shows up in console and I see the entry in config.xml. Then I create a new JMSTopic and set its JNDIName (I can't see this new topic from console, but an entry is made in config.xml and I can't create the topic again.) Then I invoke the addDestination method on the JMSServer MBean and pass in my new topic. The method returns "false", with no futher explanations or exceptions. If I try to go through the setDestinations property of the JMSServer MBean, the same thing happens: a silent failure.
I have no idea what to do! Is this a bug? Has anyone ever succeeded in doing this sort of thing?

Similar Messages

  • Help/Example needed for creating JMSQueues/JMSTopics using the MBean API

    I am trying to create JMSQueues programmatically using the MBean API. When
    I use MBeanHome.createAdminMBean(), a queue appears in the root of the
    config file. This is progress, but the queue is in the wrong place! I need
    the queues to be part of my JMS server's "destinations" as seen on the
    console.
    So now I am trying to use createConfigurationMBean() instead, but I can't
    figure out what the "parent" parameter should be- no documentation! My
    first guess was that the parent might be the JMSServer, but that doesn't
    work.
    Anyone have example code to insert JMSQueues and JMSTopics into a specific
    JMS server's destinations?
    Here is the code I tried... All goes well until the final
    createConfigurationMBean call, where it throws a MBeanCreationException:
    // Get the MBeanHome bean
    Object obj = jndiContext.lookup("weblogic.management.adminhome");
    MBeanHome mbeanhome = (MBeanHome) javax.rmi.PortableRemoteObject.narrow
    (obj, MBeanHome.class);
    // Get the server MBean
    JMSServerMBean jmsServerMB =
    (JMSServerMBean)mbeanhome.getMBean("examplesJMSServer",
    JMSServerMBean.class);
    // Create the new Queue
    JMSQueueMBean jmsQMB = (JMSQueueMBean)mbeanhome.createConfigurationMBean
    ("weblogic.examples.jms.fooQueue", "JMSQueue", jmsServerMB);

    Ok, I still don't see how I can do it differently with the admin tool. If
    you want to see the commands I'm using, I can post them, but the basic one
    is shown below in the previous message. We're trying to set up a script so
    that developers can just run it and properly configure WebLogic with the
    right components.
    Thanks,
    Michelle
    "Michelle Baxter" <[email protected]> wrote in message
    news:[email protected]...
    I am using the weblogic.Admin tool, not doing this in code. I will attempt
    to translate your advice when I get time again.
    My commands look like this:
    java weblogic.Admin -url 127.0.0.1:7001 -username system -passwordweblogic
    CREATE -mbean "mydomain:Type=JMSQueue,Name=MyJMSQueue"
    I create this, I create the JMSServer MBean, then do and INVOKE (insteadof
    CREATE) and call the addDestination method, adding the JMS Queue MBeanthat
    I created previously, using the same naming scheme as in the above CREATE.
    "Viresh Garg" <[email protected]> wrote in message
    news:[email protected]...
    Daron Cole wrote:
    You can use createConfigurationMBean with JMSQueueConfig but in the
    end
    I used
    the code below to create a topic.The code that you posted is the right way to create queus/topics. alwayscreate admin mbeans to admin
    server and let admin server internally create config Mbeans on the
    managed
    server as per the
    location/targets that you set in admin Mbeans.
    Queue's are the same, just replace the word
    Topic with Queue and it should work. It should show up in the console
    app.
    MBeanHome home = (MBeanHome)ctx.lookup(MBeanHome.JNDI_NAME+".myserver");
    ServerMBean myserver =(ServerMBean)home.getMBean("myserver",ServerMBean.class);
    String topicName = "MyNewTopic";
    JMSServerMBean jmsServerMB =(JMSServerMBean)home.getMBean("JMSServer","JMSServer","mydomain");
    JMSTopicMBean jmsTopicMB =(JMSTopicMBean)home.createAdminMBean(topicName,"JMSTopic","mydomain");
    jmsTopicMB.setJNDIName(topicName);
    jmsServerMB.addDestination(jmsTopicMB);
    Viresh Garg
    Principal Developer Relations Engineer
    BEA Systems
    "Michelle Baxter" <[email protected]> wrote:
    There is no JMSQueueConfigMBean. What do you mean?
    "Daron Cole" <[email protected]> wrote in message
    news:[email protected]...
    Try JMSQueueConfig instead of JMSQueue.
    "Michelle Baxter" <[email protected]> wrote:
    Me too! I'm trying to use the weblogic.Admin class to set up
    queues
    and
    topics and the JMS server. The same results in the config file:
    the
    queues
    and topic were set up at the root, the JMS server was added, but
    no
    destinations, even though I invoked the addDestination method withthe
    created MBean queues and topic as arguments. No exceptions, just
    no
    destinations on the JMS server resulted. What's the right order ofexecution
    for this stuff??
    Thanks,
    Michelle
    "Jude DeMeis" <[email protected]> wrote in message
    news:[email protected]...
    I am trying to create JMSQueues programmatically using the MBean
    API.
    When
    I use MBeanHome.createAdminMBean(), a queue appears in the root
    of
    the
    config file. This is progress, but the queue is in the wrong
    place!
    I
    need
    the queues to be part of my JMS server's "destinations" as seen
    on
    the
    console.
    So now I am trying to use createConfigurationMBean() instead,
    but
    I
    can't
    figure out what the "parent" parameter should be- no
    documentation!
    My
    first guess was that the parent might be the JMSServer, but that
    doesn't
    work.
    Anyone have example code to insert JMSQueues and JMSTopics intoa
    specific
    JMS server's destinations?
    Here is the code I tried... All goes well until the final
    createConfigurationMBean call, where it throws aMBeanCreationException:
    // Get the MBeanHome bean
    Object obj =
    jndiContext.lookup("weblogic.management.adminhome");
    MBeanHome mbeanhome = (MBeanHome)javax.rmi.PortableRemoteObject.narrow
    (obj, MBeanHome.class);
    // Get the server MBean
    JMSServerMBean jmsServerMB =
    (JMSServerMBean)mbeanhome.getMBean("examplesJMSServer",
    JMSServerMBean.class);
    // Create the new Queue
    JMSQueueMBean jmsQMB =(JMSQueueMBean)mbeanhome.createConfigurationMBean
    ("weblogic.examples.jms.fooQueue", "JMSQueue", jmsServerMB);

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Can't add JMS topics using weblogic.Admin

    I have seen a similar problem being mentioned before on this board, except it occurred more directly through management APIs. I'm working with Weblogic 6.1, and trying to create a JMSTopic from command-line using weblogic.Admin
    First I create a JMSServer (using CREATE operation) and set its Targets attribute (using SET). Then I create a JMSTopic (again, using CREATE) and set its JNDIName attribute (again, using SET). All of this works fine, and I see the new JMSServer in the console correctly targeting the right server, and I see both the JMSServer and JMSTarget entries in the config.xml of my domain.
    Now, I try to add the topic under the server using addDestination method (through weblogic.Admin operation INVOKE). addDestination returns "false" with no further explanation or exceptions. If I try to go through the SET operation and target the Destinations property of JMSServer, again I get a silent failure with no further info.
    Is this a bug? Has someone ever succeeded in doing this before? Any Ideas?
    Thanks!
    -Boris

    I'm replying to my own message because a kind soul gave me the solution. Apparently
    it's not documented (or at least not well enough that I could find it), so I'm reiterating
    it for the benefit of others.
    In order to register a JMSTopic (or a JMSQueue) under a JMSServer, you do not use
    the addDestination or setDestinations methods on the JMSServer. Instead, you set
    the (un-exposed) Parent property on the topic or queue MBean. For example, if I
    had created a JMSServer MyJmsServer and a JMSTopic MyJmsTopic, I would need to issue
    the following command:
    weblogic.admin <usual url/username/password stuff> SET -mbean "mydomain:Name=MyJmsTopic,Type=JMSTopic"
    -property Parent "mydomain:Name=MyJmsServer,Type=JMSServer"
    My heartfelt thanks to you, Ajay!

  • How to create JMS queues using Scripts

    Hi All,
    I want to create JMS queue in weblogic server 8.1 by running scripts .
    Can anybody provide me the scripts and how to run the scripts ...
    i have the WLshell scripts to create the JMS queues and JNDI , but i dont know how to run the scripts .
    Please help me on the same.
    Thanks,
    Kartheek

    Hi Brad ,
    Thanks for your reply.
    I went through the above link but I am gettint a error when I am executing the WLST script.
    Please look into the problem.
    wls:/offline> execfile
    <java function execfile at 1584086>
    wls:/offline> execfile ('c:/bea/configJMSSystemResource.py')
    Traceback (innermost last):
    File "<console>", line 1, in ?
    IOError: File not found - c:\bea\configJMSSystemResource.py (The system cannot f
    ind the file specified)
    wls:/offline> execfile ('c:/bea/configJMSSystemResource.py')
    Traceback (innermost last):
    File "<console>", line 1, in ?
    IOError: File not found - c:\bea\configJMSSystemResource.py (The system cannot f
    ind the file specified)
    wls:/offline> execfile('c:/bea/configJMSSystemResource.py')
    Traceback (innermost last):
    File "<console>", line 1, in ?
    IOError: File not found - c:\bea\configJMSSystemResource.py (The system cannot f
    ind the file specified)
    Thanks,
    Kartheek.

  • Stop/Start service of Ear application from Jboss AS using JMX Mbean API.

    Hi Frendz,
    Please help me on this issue :)
    I would like to stop/start my ear applcation from JMX Client which is deployed on jboss server 4.2.0.
    Code:
    ObjectName name = new ObjectName("jboss.j2ee:service=EARDeployment,url='rr-jms-ejb3.ear' ");
    MBeanServerConnection connection = (MBeanServerConnection) ctx.lookup(invoker);
    connection.invoke(name, "stop", null, null);
    I can see the status(stared/stopped) on JMX Console based on my operation(stop/start).
    But my application is always running irrespective of operation i have provided to invoke method.
    My ear has both web and ejb modules and i would like to stop both modules services.
    Any idea? ...please help me on this.
    Cheers,
    Cap

    wow, you waited all of half an hour before becoming inpatient when noone dropped what they were doing to come at your beg and call?

  • Cache Size using JMX MBeans

    Hi All,
    I need some clarifications.
    The size of the cache retrived using a ObjectName("Coherence:type=Cache,service=DistributedCache,name=ABC,nodeId=1,tier=back") is specific to one node. if I have a 200 nodes in the cache the sum(all nodes size's) is the total cache size ?
    in the same way Total Gets, Total Puts and other per node attributes ?
    Is my assumption correct ?
    Is there any possibilites that the Total Puts is greater than the size per node ?
    Regards
    S.

    Hi S.
    As far as I know your assumptions are correct, the sizes and counts of puts and gets are per-node so you would need to sum the up for the whole cluster.
    The total puts can easily be greater than the size of the case for a number of reasons:
    1. You have done multiple puts with the same key
    2. You have deleted some entries
    3. You have enabled expiry which has removed entries
    JK

  • Using JMX and MBeans

    I've been experimenting with Java instrumentation with MBeans.
    I created a small app to try out some of the JMX features. The app has a class that I would like to monitor with MBeans. So I created to interfaces to function as MBeans and then had the class in my app implement both interfaces.
    I then wrote a class with only a main() method to instantiate my class and call the methods it implemented from my MBean interface. In the main method I provided the code to get an MBeanServer object and then use that to register my class that implemented the MBean interfaces. My intention was to try this out, but before I did I commented out the code needed to register the class with the MBean server. I did this because I assumed the implemented interface methods would be available for monitoring without registering and it made me think if I can monitor the instrumented class like this why would I need the MBean server.
    So what is the purpose of the JMX framework and MBeans if I can instrument any class as described above?
    Is it necessary to register only to be able to monitor from outside the JMV where the instrumented class is running?
    Or are there other advantages\features\reasons for registering with the MBean server?
    Thanks

    "MS" <[email protected]> wrote:
    >
    Hello All,
    I am looking for a java program that can create JDBC connection pool
    and datasource
    using JMX/Mbeans of WLS 7.0.2.
    Can somebody help?
    Thanks in advance.
    rgds
    MS

  • Clustering a JMS Topic

    I'm trying to create a distributed JMS topic using the wlconfig ant task (MBean).
    I can create a topic on a single server fine, but I can't figure out how to create a distributed topic that I could access on any server in the cluster.
    This is what I have so far, which seems to run, but I can't lookup the topic under the JNDI name in the server,
    <wlconfig url="t3://${JEE_HOST}:7001/" username="${JEE_USER}" password="${JEE_PASSWORD}">
    <query domain="mydomain" type="Cluster" name="*" property="cluster"/>
    <query domain="mydomain" type="Server" name="server1" property="server1"/>
    <query domain="mydomain" type="Server" name="server2" property="server2"/>
    <query domain="mydomain" type="Server" name="server3" property="server3"/>
    <create type="JMSConnectionFactory" name="EmployeeTopicConnectionFactory">
    <set attribute="JNDIName" value="jms/EmployeeTopicConnectionFactory"/>
    <set attribute="XAServerEnabled" value="false"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer1">
    <set attribute="Targets" value="${server1}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer2">
    <set attribute="Targets" value="${server2}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer3">
    <set attribute="Targets" value="${server3}"/>
    </create>
    <create type="JMSDistributedTopic" name="EmployeeTopic">
    <set attribute="JNDIName" value="jms/EmployeeTopic"/>
    <set attribute="LoadBalancingPolicy" value="Random"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    </wlconfig>
    This produces the following in the config.xml
    <jms-server>
    <name>EmployeeJMSServer1</name>
    <target>server1</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer2</name>
    <target>server2</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer3</name>
    <target>server3</target>
    </jms-server>
    <migratable-target>
    <name>server1 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server1</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server2 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server2</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server3 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server3</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <jms-interop-module>
    <name>interop-jms</name>
    <sub-deployment>
    <name>EmployeeTopicConnectionFactory</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <sub-deployment>
    <name>EmployeeTopic</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name>
    </jms-interop-module>
    and the jms interop xml
    <connection-factory name="EmployeeTopicConnectionFactory">
    <jndi-name>jms/EmployeeTopicConnectionFactory</jndi-name>
    <transaction-params>
    <xa-connection-factory-enabled>false</xa-connection-factory-enabled>
    </transaction-params>
    </connection-factory>
    <distributed-topic name="EmployeeTopic">
    <jndi-name>jms/EmployeeTopic</jndi-name>
    <load-balancing-policy>Random</load-balancing-policy>
    </distributed-topic>

    You might want to post this to the JMS forum:
    http://forum.java.sun.com/forum.jspa?forumID=29

  • How to use JMX with oc4j

    is there any document about how to use JMX with OC4J? the intention is that I would like to create an application, using JMX to manage OC4J, such dynamiclly adding connection pool, create data source. potentially, restart server, application ...
    is there any document about this?
    Thanks

    In addition to that, the documentation also has a section on accessing OC4J JMX/MBeans:
    http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/web.1013/b14433/mbeans.htm#sthref163
    The blog below also has examples, albeit from a Groovy perspective, but nonetheless, examples of how it can be done easily translated into Java:
    http://buttso.blogspot.com/search?q=jmx
    -steve-

  • JMS Topic Write throws JMSClientException:055143: Destinati must be a queue

    Hi,
    1) created JMS Server
    2) created JMS module
    3) Created JMS Topic, created Subdeployment and associated queue to the subdeployment
    4) Created JMS Queue and associated Queue to the subdeployment
    5) created connection factory and associated connection factory to the subdeployment
    6) Created JMS Adapter connection pool.
    7) Associated JMS Adapter connection pool and connection factory.
    8) Redeployed JMS Adapter.
    In my BPEL process i consumed JMS Adapter as a partner link.
    If I try to write in JMS queue created above, BPEL process works fine.
    But if I try to write in JMS Topic, i am getting following exception
    Any solution for the following.
    ===============================================================
    ERRJMS_ERR_CR_QUEUE_PROD.
    ERRJMS_ERR_CR_QUEUE_PROD.
    Unable to create Queue producer due to JMSException.
    Please examine the log file to determine the problem.
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:711)
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:642)
         at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:180)
         at oracle.tip.adapter.jms.outbound.JmsProducer.execute(JmsProducer.java:337)
         at oracle.tip.adapter.jms.WLSJmsInvoker.invoke(WLSJmsInvoker.java:109)
         at oracle.tip.adapter.jms.JmsInteraction.executeProduce(JmsInteraction.java:166)
         at oracle.tip.adapter.jms.JmsInteraction.execute(JmsInteraction.java:140)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:311)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:548)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:508)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:491)
         at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:247)
         at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:142)
         at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:197)
         at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:214)
         at sun.reflect.GeneratedMethodAccessor937.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy293.post(Unknown Source)
         at oracle.fabric.CubeServiceEngine.postToMesh(CubeServiceEngine.java:806)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:258)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1059)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:586)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:130)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:74)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:158)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2543)
         at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1165)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1071)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:328)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4430)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4361)
         at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:698)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:555)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:673)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:293)
         at sun.reflect.GeneratedMethodAccessor1034.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.runJaasMode(JpsAbsInterceptor.java:81)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:112)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105)
         at sun.reflect.GeneratedMethodAccessor900.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy276.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:35)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:64)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055143]Destination must be a queue, PocJmsModule!PocJmsTopic
         at weblogic.jms.common.Destination.checkDestinationType(Destination.java:112)
         at weblogic.jms.client.JMSSession.setupJMSProducer(JMSSession.java:2830)
         at weblogic.jms.client.JMSSession.createProducer(JMSSession.java:2858)
         at weblogic.jms.client.JMSSession.createSender(JMSSession.java:2605)
         at oracle.tip.adapter.jms.JMS.JMSConnection.createProducer(JMSConnection.java:698)
         ... 87 more
    [2011-07-19T06:56:33.927-04:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: orabpel.invoke.pool-4.thread-3] [userId: <anonymous>] [ecid: 4c1276542546757f:14f086aa:131000ef8b1:-8000-00000000001abc77,0:1:100079473] [APP: soa-infra] [composite_name: JMSQueueWrite_Composite] [component_name: queueWrite_bpel] [component_instance_id: 103412] JCABinding=> [default/JMSQueueWrite_Composite!1.0*soa_c000666f-6301-48aa-805d-d92a5e62a021.TopicWriteJMSAdapter]:Produce_Message One-way operation Produce_Message() failed
    [2011-07-19T06:56:33.929-04:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: orabpel.invoke.pool-4.thread-1] [userId: <anonymous>] [ecid: 4c1276542546757f:14f086aa:131000ef8b1:-8000-00000000001abc76,0:1:100079475] [APP: soa-infra] [composite_name: JMSQueueWrite_Composite] [component_name: queueWrite_bpel] [component_instance_id: 103413] JCABinding=> JMSQueueWrite_Composite:TopicWriteJMSAdapter [ Produce_Message_ptt::Produce_Message(opaque) ] Could not invoke operation 'Produce_Message' against the 'JMS Adapter' due to: [[
    BINDING.JCA-12137
    ===============================================================
    Thanks
    Ajay

    6) Created JMS Adapter connection pool.Did you set IsTopic attribute here for the outbound connection pool to true...
    Instead of creating custom connection pools, easiest approach would be to use eis/wls/Queue as the jndi name in the partner Link for queues and      eis/wls/Topic for topics.

  • Regarding destroying durable subscription using JMX

    Hi,
    I have web based application in which i m using JMS. For JMS, i am using ActiveMQ as a Message Broker.Here, i want to delete Durable topics using JMX remote connection to my broker,where activeMQ should not be stopped. I can delete durable topics but how to remove subscription of that topic that i dont know and because of subscription
    when i restart my standalone component it gives an error such as
    'mail_topic is already connected because of that subscription".
    Here, whenever i try to destroyDurableSubscriber it gives error such as
    Durable consumer is in use.
    How to overcome to this problem,please tell me,
    Thanks in advance.

    What is the MQ version shown at beginning of the broker log ? Could you please give more description of your application and what the subscriber clients do ?

  • WLST create JMS Server

    Does anyone know the difference between the following commands to create JMS resources using WLST?
    cmo.createJMSServer('myJMSServer');
    vs
    create('myJMSServer', 'JMSServer')

    Hello,
    You can use both.
    the cmo.createJMSServer is 'java' code.
    Schelstraete Bart
    [email protected]
    http://www.schelstraete.org
    http://www.linkedin.com/in/bschelst

  • Creating more then one JMS Destination using MBeans

    Hi all,
    I am trying to create 2(or more) JMS Destinations (Topics and Queues) in a JMS Server.
    The code looks like:
    MBeanHome home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    ServerMBean srvrMBean = (ServerMBean) home.getMBean("examplesServer", "Server",
    "examples");
    JMSServerMBean jmsServer = (JMSServerMBean)home.findOrCreateAdminMBean("examplesServer",
    "JMSServer", "examples");
    jmsServer.setStore(jmsStore);//jmsStore is JMSJDBCStoreMBean obj
    jmsServer.setTargets(srvrMBean);
    JMSDestinationMBean jmsTopic1 = (JMSTopicMBean)home.findOrCreateAdminMBean("tempTopic1",
    "JMSTopic", "examples", jmsServer);
    jmsTopic1.setJNDIName("com.temp.topic1");
    jmsServer.addDestination(jmsTopic1);
    and the second one is added as:
    JMSDestinationMBean jmsTopic2 = (JMSTopicMBean)home.findOrCreateAdminMBean("tempTopic2",
    "JMSTopic", "examples", jmsServer);
    jmsTopic2.setJNDIName("com.temp.topic2");
    jmsServer.addDestination(jmsTopic2);
    (Actually, the Topics are added to the jmsServer in a method)
    I can see in the console that the first topic is added to the JMS server and to the
    JNDItree of the server instance,
    But for some reason, the second topic is not added to the JNDI tree(but it is added
    to the JMS Server).
    and I can not look up the second object in JNDI.
    Does anybody come across this problem??
    what is the right way to add the destinations??
    thanks for any help
    -Vijay

    Hi Mihir,
    thanks....I tried the same program, but the only difference is i am setting the targets
    to the jms server (i.e. jmsServer.setTarget(tm);) before adding second destination
    to it(i tried both setDestinations and addDestination).
    Because, (according to my requirements) after adding the first destination i have
    to set the target for the jmsserver (which eventually starts the JMSserver).
    So, is there any way to add the destinations to the jmsserver after setting the targets??
    thanks for any help
    -Vijay
    "Mihir Kulkarni" <[email protected]> wrote:
    The following code works for me.
    Btw, I use setDestinations and pass it an array of JMSDestinationMBeans
    instead of using addDestinations()
    Hope this helps...
    mihir
    import java.util.Set;
    import java.util.Iterator;
    import java.rmi.RemoteException;
    import javax.naming.*;
    import weblogic.jndi.Environment;
    import weblogic.management.MBeanHome;
    import javax.management.ObjectName;
    import weblogic.management.WebLogicMBean;
    import weblogic.management.MBeanCreationException;
    import weblogic.management.configuration.ServerMBean;
    import weblogic.management.runtime.ServerRuntimeMBean;
    import weblogic.management.WebLogicObjectName;
    import weblogic.management.configuration.*;
    import javax.management.InvalidAttributeValueException;
    /* Running this program will create a JMS Server and a JMS Connection
    * Factory targetted to the Admin server. It will also add a JMS Topic
    * and a JMS Queue to the JMSServer.
    * This will create the following entries in the config.xml:
    * <JMSServer Name="myJMSServer" Targets="MyServer">
    * <JMSQueue JNDIName="jmx.jms.myJMSQueue" Name="myJMSQueue"/>
    * <JMSTopic JNDIName="jmx.jms.myJMSTopic" Name="myJMSTopic"/>
    * </JMSServer>
    * <JMSConnectionFactory JNDIName="jmx.jms.myJMSConnectionFactory"
    * Name="myJMSConnectionFactory" Targets="MyServer"/>
    public class createJMS {
    public createJMS() {
    public static void main(String[] args) {
    JMSServerMBean jmsServer = null;
    JMSDestinationMBean jmsQueue = null;
    JMSDestinationMBean jmsTopic = null;
    JMSConnectionFactoryMBean jmsConnectionFactory = null;
    JMSSessionPoolMBean jmsSessionPool = null;
    JMSConnectionConsumerMBean jmsConnectionConsumer = null;
    ServerMBean srvrMBean = null;
    MBeanHome home = null;
    JMSServerMBean jmsServerConfig = null;
    file://domain variables
    String url = "t3://localhost:7001";
    String username = "system";
    String password = "mihirk00";
    file://variable Names
    String DOMAIN = "mihirDomain";
    String ADMINSERVERNAME = "MyServer";
    String JMSSERVER = "myJMSServer";
    String JMSCONNECTIONFACTORY = "myJMSConnectionFactory";
    String JMSQUEUE = "myJMSQueue";
    String JMSTOPIC = "myJMSTopic";
    log("Creating AdminMBeans for JMS queue and JMS connection
    factory");
    try
    Environment env = new Environment();
    env.setProviderUrl(url);
    env.setSecurityPrincipal(username);
    env.setSecurityCredentials(password);
    Context ctx = env.getInitialContext();
    home = (MBeanHome)ctx.lookup("weblogic.management.adminhome");
    log("Got AdminHome: " + home);
    String name = DOMAIN + ":,Name=" + ADMINSERVERNAME + ",Type=Server"
    WebLogicObjectName objName = new WebLogicObjectName(name);
    srvrMBean = (ServerMBean)home.getMBean(objName);
    file://srvrMBean =
    (ServerMBean)home.getMBean(ADMINSERVERNAME,"Server",DOMAIN);
    log("Got the serverMBean: " + srvrMBean);
    } catch (Exception e) {
    log("Exception in getting Admin home & srvrMBean: " + e);
    /* the findOrCreateAdminMBean method of the MBeanHome is used to
    create
    * the Admin MBeans for all the JMS stuff needed for this utility
    * the method takes 3 parameters - Name, Type, Domain
    * the type Parameter is the name of the MBean you want to create
    * minus the MBean prefix
    * eg) JMSServer, JMSConnectionFactory, JMSQueue etc..
    * It also takes an addition parameter which is the parent
    AdminMbean
    * if one needs to create a child node in the xml tree.
    * Once the MBean is created you can set attributes on it using
    the
    * exposed API of that MBean
    * Its always better to use the findOrCreateAdminMBean method compared
    * to createAdminMBean method .
    file://use findOrCreateAdminMBean to create JMSConnectionFactory
    try {
    jmsConnectionFactory =
    (JMSConnectionFactoryMBean)home.findOrCreateAdminMBean(JMSCONNECTIONFACTORY,
    "JMSConnectionFactory", DOMAIN);
    if( jmsConnectionFactory.getJNDIName() == null) {
    jmsConnectionFactory.setJNDIName("jmx.jms.myJMSConnectionFactory");
    log("Created a JMSConnectionFactory");
    else
    log("looked up JMS ConnectionFactory: " +
    jmsConnectionFactory.getJNDIName());
    } catch (MBeanCreationException e) {
    log("MBeanCreationException: " + e);
    catch(InvalidAttributeValueException e) {
    log("InvalidAttributeValueException: " + e);
    file://create the JMSServerMBean
    try {
    jmsServer = (JMSServerMBean)home.findOrCreateAdminMBean(JMSSERVER,
    "JMSServer", DOMAIN);
    log("Found or Created a JMSServer");
    } catch (MBeanCreationException e) {
    log("MBeanCreationException: " + e);
    file://create the JMSQueueMBean - use methods of
    JMSDestinationMBean
    file://here we pass the jmsServer as the parent MBean so that the
    file://JMSQueueMBean is created as the child of the JMSServerMBean
    try {
    jmsQueue =
    (JMSDestinationMBean)home.findOrCreateAdminMBean(JMSQUEUE, "JMSQueue",
    DOMAIN, jmsServer);
    if( jmsQueue.getJNDIName() == null) {
    jmsQueue.setJNDIName("jmx.jms.myJMSQueue");
    log("Created a JMSQueue");
    else {
    log("looked up JMS Queue: " + jmsQueue.getJNDIName());
    } catch (MBeanCreationException e) {
    log("MBeanCreationException: " + e);
    catch(InvalidAttributeValueException e) {
    log("InvalidAttributeValueException: " + e);
    file://create the JMSTopicMBean - use methods of
    JMSDestinationMBean
    file://here we pass the jmsServer as the parent MBean so that the
    file://JMSTopicMBean is created as the child of the JMSServerMBean
    try {
    jmsTopic =
    (JMSDestinationMBean)home.findOrCreateAdminMBean(JMSTOPIC, "JMSTopic",
    DOMAIN, jmsServer);
    if( jmsTopic.getJNDIName() == null) {
    jmsTopic.setJNDIName("jmx.jms.myJMSTopic");
    log("Created a JMSTopic");
    else {
    log("looked up JMS Topic: " + jmsTopic.getJNDIName());
    } catch (MBeanCreationException e) {
    log("MBeanCreationException: " + e);
    catch(InvalidAttributeValueException e) {
    log("InvalidAttributeValueException: " + e);
    file://create the target Arrays
    JMSDestinationMBean[] jdm = {jmsQueue,jmsTopic};
    TargetMBean[] tm = {srvrMBean};
    file://set the Destinations for the jms Server
    try {
    jmsServer.setDestinations(jdm);
    log("Added Destination to the jmsServer");
    } catch(Exception e) {
    log("Excpn in setting the property for jmsServer:" + e);
    /* Now target the JMS Server to the appropriate Server
    * As the JMSServerMBean extends the DeploymentMBean, we can
    directly
    * use the addTarget method of the DeploymentMBean
    file://ordering is important
    file://Target the JMS ConnectionFactory
    try {
    jmsConnectionFactory.setTargets(tm);
    log("Targetted the Connection Factory to the admin Server");
    } catch (Exception e) {
    System.out.println("Exception in targetting the
    jmsConnectionFactory to the Admin server: " + e);
    file://Target the JMS Server
    try {
    jmsServer.setTargets(tm);
    log("Targetted the JMS Server to the admin Server");
    } catch (Exception e) {
    System.out.println("\nException in targetting the jmsServer to
    the Admin server: " + e);
    log("Done with registering AdminMBeans for JMS");
    private static void log(String s) {
    System.out.println("\n[createJMS]: " + s);
    "Vijay Bujula" <[email protected]> wrote in message
    news:[email protected]...
    Hi all,
    I am trying to create 2(or more) JMS Destinations (Topics and Queues)in a
    JMS Server.
    The code looks like:
    MBeanHome home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    ServerMBean srvrMBean = (ServerMBean) home.getMBean("examplesServer","Server",
    "examples");
    JMSServerMBean jmsServer =(JMSServerMBean)home.findOrCreateAdminMBean("examplesServer",
    "JMSServer", "examples");
    jmsServer.setStore(jmsStore);//jmsStore is JMSJDBCStoreMBean obj
    jmsServer.setTargets(srvrMBean);
    JMSDestinationMBean jmsTopic1 =(JMSTopicMBean)home.findOrCreateAdminMBean("tempTopic1",
    "JMSTopic", "examples", jmsServer);
    jmsTopic1.setJNDIName("com.temp.topic1");
    jmsServer.addDestination(jmsTopic1);
    and the second one is added as:
    JMSDestinationMBean jmsTopic2 =(JMSTopicMBean)home.findOrCreateAdminMBean("tempTopic2",
    "JMSTopic", "examples", jmsServer);
    jmsTopic2.setJNDIName("com.temp.topic2");
    jmsServer.addDestination(jmsTopic2);
    (Actually, the Topics are added to the jmsServer in a method)
    I can see in the console that the first topic is added to the JMS serverand to the
    JNDItree of the server instance,
    But for some reason, the second topic is not added to the JNDI tree(butit
    is added
    to the JMS Server).
    and I can not look up the second object in JNDI.
    Does anybody come across this problem??
    what is the right way to add the destinations??
    thanks for any help
    -Vijay

  • How to resolve JMSExceptions:045032 when creating a JMS Topic

    I am using Weblogic 12c (12.1.1.0).  I have created a new managed server. I have created a JMS server targeted to the new managed server. I have created a JMS module targeted to the new managed server. I have created a JMS Subdeployment which targets both the new managed server and the new JMS server.  I've created a JMS connection factory which targets the JMS Subdeployment.
    Now everything I've done so far has worked fine.  No problems.  The problem happens when I try to create a JMS Topic.  I select to create a new regular Topic; I target the new JMS Subdeployment, and after selecting the Subdeployment Weblogic refreshes the page and shows the JMS server.  So this all seems OK. When I try to finish and create the JMS Topic, I get the following error: [JMSExceptions:045032]While attempting to create destination [TOPIC_NAME] in module [MODULE_NAME] the JMS server [MANAGED_SERVER_NAME] could not be found.
    Any thoughts on this?  I've googled around but haven't found anything useful.

    I replicated this at my end. This is caused by Subdeployment target to both the new managed server and the new JMS server.
    Please try creating a new Subdeployment and target it to JMS Server only, as described in the document below.
    https://docs.oracle.com/cd/E24329_01/web.1211/e24385/best_practice.htm#JMSAD633
    "Populate the subdeployment only with JMS servers - not WebLogic servers. Only include the JMS servers that you wish to host destinations. This ensures that when the JMS resources are configured, they are targeted to the correct JMS servers. For modules that support non-distributed destinations, the subdeployment must only reference a single JMS Server. If you have a mix of distributed and non-distributed destinations, use two modules each with its own subdeployment."
    Best Regards
    Luz

Maybe you are looking for

  • ORA-12712: new character set must be a superset of old character ...-

    Dear all , i have a problem with oracle database, server configuration oracle 10g, solaris 9, sparc processor 64 bit, i altered database character set to UTF8, whe i return database to old seeting ISO 8859-6 i got this error ORA-12712: new character

  • Error : Maximum Open Cursors Exceded

    Hi! The error appear in that check out or check an objet using OSCM. At first I cna do it but when i trying to check in or out files the messages appear. I don´t understand why and for waht action it appear. Any suggestion?? Thanks! Matias

  • How to execute code from a text file?

    Hello all! How to execute some code lines from a text file? For example my file is: String varname = "somecontents"; JFrame frame = new JFrame(); frame.setVisible(true);How can I get contents of this file and parse them if I want get new JFrame and a

  • My Iphone 4S not starting. Its out of warranty. I want to get it replaced

    My Iphone 4S not starting. Its out of warranty. I want to get it replaced. Its from USA

  • Where can I get bootcamp?

    Hello Apple World, I have a minor issue.  If I do not currently own a copy of bootcamp, how would I go about aqcuiring this piece of software?  You see, I reently got my iMac back from an Apple Store, and after reinstalling the Operating system, and