[Fwd: Re: Question about GenericJmsRa]

View: New views
5 Messages — Rating Filter:   Alert me  

[Fwd: Re: Question about GenericJmsRa]

by Ramesh-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Thanks , the stack trace helps, an exception listener is set for both
outbound and inbound connections. I thought the problem was with the
inbound connection.
With the stack trace it shows that its for outbound connections,

This check
public void setExceptionListener(ExceptionListener excptLstnr)
        throws JMSException {
        if (!this.inACC()) {
            throw new JMSException(
                "Conncetion.setExceptionListener() cannot be called on
non-ACC clients");
        }

        checkIfClosed();
        this.physicalJMSCon.setExceptionListener(excptLstnr);
    }

in the GRA code is present for a reason, because the Java EE spec
forbids calling setExceptionListener() on a connection from within a Web
container or EJB container code, But the weblogic ejb code is calling
this method.

But here is what WLS documentation says :
http://edocs.bea.com/wls/docs92/jms/recover.html

/Connection with Registered Exception Listener/ - If the JMS Connection
has an application ExceptionListener registered on it, that
ExceptionListener's |onException()| callback will be invoked even if the
connection is implicitly refreshed. This notifies the application code
of the network disconnect event. The JMS client application code might
normally call |connection.close()| in |onException|; however, if it
wants to take advantage of the reconnect feature, it may choose not to
call |connection.close()|. The registered ExceptionListener is also
migrated transparently to the internally refreshed connection to listen
for exceptions on the refreshed connection


The last line is what i guess is causing the problem,
Iam not a WLS expert but , could you find if there is a way to disable
setting this exception listener setting on a managed connection

Thanks
-Ramesh

Taylor, Keith wrote:

> Obviously, it is retrying....
>
>
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>         at
> com.sun.genericra.outbound.ConnectionHandle.setExceptionListener(Connect
> ionHandle.java:166)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSessions(J
> MSConnectionPoller.java:1498)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(
> JMSConnectionPoller.java:1764)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnectio
> nPoller.java:770)
>         at
> weblogic.ejb.container.internal.MDConnectionManager.timerExpired(MDConne
> ctionManager.java:169)
>         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
>         at
> weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManage
> rImpl.java:518)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>         at
> com.sun.genericra.outbound.ConnectionHandle.setExceptionListener(Connect
> ionHandle.java:166)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSessions(J
> MSConnectionPoller.java:1498)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(
> JMSConnectionPoller.java:1764)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnectio
> nPoller.java:770)
>         at
> weblogic.ejb.container.internal.MDConnectionManager.timerExpired(MDConne
> ctionManager.java:169)
>         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
>         at
> weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManage
> rImpl.java:518)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>         at
> com.sun.genericra.outbound.ConnectionHandle.setExceptionListener(Connect
> ionHandle.java:166)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSessions(J
> MSConnectionPoller.java:1498)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(
> JMSConnectionPoller.java:1764)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnectio
> nPoller.java:770)
>         at
> weblogic.ejb.container.internal.MDConnectionManager.timerExpired(MDConne
> ctionManager.java:169)
>         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
>         at
> weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManage
> rImpl.java:518)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>         at
> com.sun.genericra.outbound.ConnectionHandle.setExceptionListener(Connect
> ionHandle.java:166)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSessions(J
> MSConnectionPoller.java:1498)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(
> JMSConnectionPoller.java:1764)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnectio
> nPoller.java:770)
>         at
> weblogic.ejb.container.internal.MDConnectionManager.timerExpired(MDConne
> ctionManager.java:169)
>         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
>         at
> weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManage
> rImpl.java:518)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>         at
> com.sun.genericra.outbound.ConnectionHandle.setExceptionListener(Connect
> ionHandle.java:166)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSessions(J
> MSConnectionPoller.java:1498)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnection(
> JMSConnectionPoller.java:1764)
>         at
> weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnectio
> nPoller.java:770)
>         at
> weblogic.ejb.container.internal.MDConnectionManager.timerExpired(MDConne
> ctionManager.java:169)
>         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
>         at
> weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManage
> rImpl.java:518)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
> called on non-ACC clients
>
> Keith Taylor
> Enterprise Application Architecture
>  
> Office: 678 893-1397
> Cell:    678 232-7634
> BlackBerry Device: jt3998@...
> Visit:
> http://architecture.cingularnext.net:8030/sites/eaa/default.aspx 
>
>
> How am I doing? Go to Enterprise Application Architecture Customer
> Satisfaction Survey
>
>
>
>
> -----Original Message-----
> From: Ramesh.Parthasarathy@... [mailto:Ramesh.Parthasarathy@...]
> On Behalf Of Ramesh
> Sent: Friday, May 18, 2007 12:04 PM
> To: Taylor, Keith
> Subject: Re: Question about GenericJmsRa
>
> Please refer to
> https://genericjmsra.dev.java.net/docs/userguide/userguide.html
>
> This is an activation spec property that has to be configured in
> ejb-jar.xml (or weblogic-ejb-jar.xml).
>
> Could you send me the complete stack trace ?
>
> -Ramesh
>
> Taylor, Keith wrote:
>  
>> Do I set this in the ra xml?
>>
>> -----Original Message-----
>> From: Ramesh.Parthasarathy@... <Ramesh.Parthasarathy@...>
>> To: Taylor, Keith
>> Sent: Fri May 18 11:45:12 2007
>> Subject: Re: Question about GenericJmsRa
>>
>> Is this error printed in the WLS logs ?
>>
>> The managed connection implementation in the WLS 9.2 is not allowing
>>    
> us
>  
>> to set the exception listener.
>> Mostly  this would be the cause. Would help if you can give the
>>    
> complete
>  
>> stack trace.
>>
>> As a workaround could you set ReconnectAttempts to 0 in the activation
>> spec property, (the default value should be 0) GRA will not attempt to
>> set the exception listener on the connection if reconnectattempts is
>>    
> 0.
>  
>> Could you try this.
>>
>> Thanks
>> -Ramesh
>>
>> Taylor, Keith wrote:
>>    
>>> Yes, I'm using version 1.7.
>>>
>>> Data flow is as follows:
>>>
>>> MDB is installed and deployed to BEA Weblogic 9.2
>>>
>>> The Jms Provider is TIBCO EMS running on another server.
>>>
>>> When I bring start genericJmsRa it created the outbound connections
>>> correctly.
>>>
>>> The queues show up in the jndi tree on WLS correctly.
>>>
>>> When I startup the MDB I notice through the TIBCO EMS Admin tool
>>>      
> that
>  
>>> sessions are created but never a receiver is registered.
>>>
>>> I looked in the connectionhandler code of GRA and see that it has
>>> something to do with running in a managedContainer, hence the ACC
>>>      
> error?
>  
>>> Application Client Container?
>>>
>>> Not sure if this is a weblogic security issue for the managed
>>>      
> container
>  
>>> or what?
>>>
>>> Thanks for the quick response. I've been working on this for about 5
>>> days and I'm starting to pull my hair out.
>>>
>>> Keith Taylor
>>> Enterprise Application Architecture
>>>  
>>> Office: 678 893-1397
>>> Cell:    678 232-7634
>>> BlackBerry Device: jt3998@...
>>> Visit:
>>> http://architecture.cingularnext.net:8030/sites/eaa/default.aspx
>>>
>>>
>>> How am I doing? Go to Enterprise Application Architecture Customer
>>> Satisfaction Survey
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Ramesh.Parthasarathy@...
>>>      
> [mailto:Ramesh.Parthasarathy@...]
>  
>>> On Behalf Of Ramesh
>>> Sent: Friday, May 18, 2007 11:25 AM
>>> To: Taylor, Keith
>>> Subject: Re: Question about GenericJmsRa
>>>
>>> Hi Keith,
>>> Thanks for using generic jms ra, may i ask which version of gra you
>>>      
> are
>  
>>> using.
>>> Could you explain a bit more about your requirement
>>> You want to integrate WebLogic Server 9.2 with which JMS provider ?
>>> We could continue this discussion over email, you have reached the
>>>      
> right
>  
>>> alias.
>>>
>>> Thanks
>>> -Ramesh
>>>
>>>
>>> Taylor, Keith wrote:
>>>  
>>>      
>>>> Hello,
>>>>
>>>> First off I think the genericjmsra is great.
>>>>
>>>> I'm trying to get this installed in WLS 9.2.
>>>>
>>>> Everything seems to be ok except when I start an MDB I get the
>>>> following exception:
>>>>
>>>> javax.jms.JMSException: Conncetion.setExceptionListener() cannot be
>>>> called on non-ACC clients.
>>>>
>>>> What configuration needs to happen for this to work?
>>>>
>>>> I've included my ra and weblogic-ra.xml files (also the descriptor
>>>>        
> for
>  
>>>>    
>>>>        
>>>  
>>>      
>>>> my ejb)
>>>>
>>>> Please help me or let me know who I could talk with.
>>>>
>>>> Thanks,
>>>>
>>>> Keith Taylor
>>>> Enterprise Application Architecture
>>>>
>>>> Office: 678 893-1397
>>>> Cell: 678 232-7634
>>>> BlackBerry Device: jt3998@...
>>>> <mailto:jt3998@...>
>>>>
>>>> Visit:
>>>>
>>>> http://architecture.cingularnext.net:8030/sites/eaa/default.aspx
>>>>
>>>> How am I doing? Go to Enterprise Application Architecture Customer
>>>> Satisfaction Survey
>>>>
>>>>    
>>>>        
> <http://architecture.cingularnext.net:8030/sites/aacs/Lists/Enterprise%2
>  
>>> 0Architecture%20Customer%20Satisfaction%20Surv/overview.aspx>
>>>  
>>>      
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <!--
>>>>  * Copyright 2004-2005 Sun Microsystems, Inc.
>>>>  *
>>>>  *  Licensed under the Apache License, Version 2.0 (the "License");
>>>>  *  you may not use this file except in compliance with the
>>>>        
> License.
>  
>>>>  *  You may obtain a copy of the License at
>>>>  *
>>>>  *      http://www.apache.org/licenses/LICENSE-2.0
>>>>  *
>>>>  *  Unless required by applicable law or agreed to in writing,
>>>>    
>>>>        
>>> software
>>>  
>>>      
>>>>  *  distributed under the License is distributed on an "AS IS"
>>>>        
> BASIS,
>  
>>>>  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>>>  *  implied.
>>>>  *  See the License for the specific language governing permissions
>>>>    
>>>>        
>>> and
>>>  
>>>      
>>>>  *  limitations under the License.
>>>> -->
>>>>
>>>>
>>>> <connector xmlns="http://java.sun.com/xml/ns/j2ee"
>>>>            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>>            http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
>>>>            version="1.5">
>>>>          
>>>>     <description>Generic JMS Resource Adapter</description>
>>>>     <display-name>Generic J2EE Resource Adapter for
>>>>        
> JMS</display-name>
>  
>>>>     <icon></icon>
>>>>     <vendor-name>Sun Microsystems, Inc.</vendor-name>
>>>>     <eis-type>Java Message Service v 1.1</eis-type>
>>>>     <resourceadapter-version>1.0</resourceadapter-version>
>>>>
>>>>     <resourceadapter>
>>>>         <resourceadapter-class>
>>>>             com.sun.genericra.GenericJMSRA
>>>>         </resourceadapter-class>
>>>>         <!-- @todo: define all RA properties here -->
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionFactoryClassName</config-property-name>
>  
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>
>>>>                        
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>QueueConnectionFactoryClassName</config-property-n
>  
>>> ame>
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>TopicConnectionFactoryClassName</config-property-n
>  
>>> ame>
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>XAConnectionFactoryClassName</config-property-name
>  
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>XAQueueConnectionFactoryClassName</config-property
>  
>>> -name>
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>XATopicConnectionFactoryClassName</config-property
>  
>>> -name>
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>> <config-property-name>QueueClassName</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                                              
>>>>
>>>> <config-property>                        
>>>> <config-property-name>TopicClassName</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionFactoryProperties</config-property-name>
>  
>>>  
>>>      
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                      
>>>>
>>>> <config-property>                        
>>>> <config-property-name>UserName</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>> <config-property-name>Password</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>
>>>>
>>>> <config-property>                        
>>>> <config-property-name>SupportsXA</config-property-name>
>>>> <config-property-type>java.lang.Boolean</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>>
>>>>        
> <config-property-name>ProviderIntegrationMode</config-property-name>
>  
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>> <config-property-name>JndiProperties</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>                        
>>>>
>>>> <config-property>                        
>>>> <config-property-name>LogLevel</config-property-name>
>>>> <config-property-type>java.lang.String</config-property-type>
>>>> <config-property-value></config-property-value>
>>>> </config-property>
>>>>                      
>>>>        
>>>>         <!-- @todo: check if all MCF props are listed correctly -->
>>>>         <outbound-resourceadapter>
>>>>             <connection-definition>
>>>>                 <managedconnectionfactory-class>
>>>>
>>>>    
>>>>        
>>> com.sun.genericra.outbound.ManagedQueueConnectionFactory
>>>  
>>>      
>>>>                 </managedconnectionfactory-class>
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionFactoryJndiName</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
>>> <config-property-name>ClientId</config-property-name>
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionValidationEnabled</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.Boolean</config-property-type>
>>>  
>>>      
>>>>                 </config-property>  
>>>>                              
>>>>                
>>>>                 <connectionfactory-interface>
>>>>                     javax.jms.QueueConnectionFactory
>>>>                 </connectionfactory-interface>
>>>>                 <connectionfactory-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionFactory
>>>>                 </connectionfactory-impl-class>
>>>>                 <connection-interface>
>>>>                     javax.jms.QueueConnection
>>>>                 </connection-interface>
>>>>                 <connection-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionHandle
>>>>                 </connection-impl-class>
>>>>             </connection-definition>
>>>>
>>>>             <connection-definition>
>>>>                 <managedconnectionfactory-class>
>>>>
>>>>    
>>>>        
>>> com.sun.genericra.outbound.ManagedTopicConnectionFactory
>>>  
>>>      
>>>>                 </managedconnectionfactory-class>
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionFactoryJndiName</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
>>> <config-property-name>ClientId</config-property-name>
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionValidationEnabled</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.Boolean</config-property-type>
>>>  
>>>      
>>>>                 </config-property>
>>>>                
>>>>                 <connectionfactory-interface>
>>>>                     javax.jms.TopicConnectionFactory
>>>>                 </connectionfactory-interface>
>>>>                 <connectionfactory-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionFactory
>>>>                 </connectionfactory-impl-class>
>>>>                 <connection-interface>
>>>>                     javax.jms.TopicConnection
>>>>                 </connection-interface>
>>>>                 <connection-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionHandle
>>>>                 </connection-impl-class>
>>>>             </connection-definition>
>>>>
>>>>             <connection-definition>
>>>>                 <managedconnectionfactory-class>
>>>>
>>>>    
>>>>        
>>> com.sun.genericra.outbound.ManagedJMSConnectionFactory
>>>  
>>>      
>>>>                 </managedconnectionfactory-class>
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionFactoryJndiName</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
>>> <config-property-name>ClientId</config-property-name>
>>>  
>>> <config-property-type>java.lang.String</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                 <config-property>
>>>>
>>>>    
>>>>        
> <config-property-name>ConnectionValidationEnabled</config-property-name>
>  
>>>  
>>> <config-property-type>java.lang.Boolean</config-property-type>
>>>  
>>>      
>>>>                 </config-property>              
>>>>                
>>>>                 <connectionfactory-interface>
>>>>                     javax.jms.ConnectionFactory
>>>>                 </connectionfactory-interface>
>>>>                 <connectionfactory-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionFactory
>>>>                 </connectionfactory-impl-class>
>>>>                 <connection-interface>
>>>>                     javax.jms.Connection
>>>>                 </connection-interface>
>>>>                 <connection-impl-class>
>>>>                     com.sun.genericra.outbound.ConnectionHandle
>>>>                 </connection-impl-class>
>>>>             </connection-definition>
>>>>            
>>>>             <transaction-support>
>>>>                 XATransaction
>>>>             </transaction-support>
>>>>             <authentication-mechanism>
>>>>                 <authentication-mechanism-type>
>>>>                     BasicPassword
>>>>                 </authentication-mechanism-type>
>>>>                 <credential-interface>
>>>>                     javax.resource.spi.security.PasswordCredential
>>>>                 </credential-interface>
>>>>             </authentication-mechanism>
>>>>             <reauthentication-support>
>>>>                 false
>>>>             </reauthentication-support>
>>>>         </outbound-resourceadapter>
>>>>        
>>>>         <inbound-resourceadapter>
>>>>             <messageadapter>        
>>>>                 <messagelistener>
>>>>                     <messagelistener-type>
>>>>                         javax.jms.MessageListener
>>>>                     </messagelistener-type>
>>>>                     <activationspec>
>>>>                         <activationspec-class>
>>>>
>>>>        
> com.sun.genericra.inbound.ActivationSpec
>  
>>>>                         </activationspec-class>
>>>>                     </activationspec>
>>>>                 </messagelistener>
>>>>             </messageadapter>        
>>>>         </inbound-resourceadapter>
>>>>        
>>>>         <adminobject>
>>>>             <adminobject-interface>javax.jms.Queue
>>>>             </adminobject-interface>
>>>>             <adminobject-class>
>>>>             com.sun.genericra.outbound.QueueProxy
>>>>             </adminobject-class>
>>>>             <config-property>
>>>>                 <config-property-name>
>>>>                 DestinationJndiName
>>>>                 </config-property-name>
>>>>                 <config-property-type>
>>>>                 java.lang.String
>>>>                 </config-property-type>
>>>>                 <config-property-value>
>>>>                 </config-property-value>
>>>>             </config-property>
>>>>             <config-property>
>>>>                 <config-property-name>
>>>>                 DestinationProperties
>>>>                 </config-property-name>
>>>>                 <config-property-type>
>>>>                 java.lang.String
>>>>                 </config-property-type>
>>>>                 <config-property-value></config-property-value>
>>>>             </config-property>
>>>>         </adminobject>
>>>>     </resourceadapter>
>>>> </connector>
>>>>
>>>>  
>>>>
>>>>    
>>>>        
> ------------------------------------------------------------------------
>  
>>>  
>>>      
>>>> <?xml version="1.0" ?>
>>>> <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
>>>>    <jndi-name>GenericRAJMS</jndi-name>
>>>>    <enable-access-outside-app>true</enable-access-outside-app>
>>>>    <properties>
>>>>       <property>                        
>>>>       <name>ConnectionFactoryClassName</name>
>>>>        
>
>  
>>>>       <value>com.tibco.tibjms.TibjmsConnectionFactory</value>
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>
>>>>      
>>>>       <property>                        
>>>>       <name>QueueConnectionFactoryClassName</name>
>>>>    
>>>>        
>>>  
>>>      
>>>>       <value>com.tibco.tibjms.TibjmsQueueConnectionFactory</value>
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>
>>>>      
>>>>       <property>                        
>>>>       <name>TopicConnectionFactoryClassName</name>
>>>>    
>>>>        
>>>  
>>>      
>>>>       <value>com.tibco.tibjms.TibjmsTopicConnectionFactory</value>
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>
>>>>      
>>>>      
>>>>       <property>                        
>>>>       <name>XAConnectionFactoryClassName</name>
>>>>    
>>>>        
>>>  
>>>      
>>>>       <value>com.tibco.tibjms.TibjmsXAConnectionFactory</value>
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>
>>>>      
>>>>       <property>                        
>>>>       <name>XAQueueConnectionFactoryClassName</name>
>>>>    
>>>>        
>>>  
>>>      
> <value>com.tibco.tibjms.TibjmsXAQueueConnectionFactory</value>
>  
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>
>>>>      
>>>>       <property>                        
>>>>       <name>XATopicConnectionFactoryClassName</name>
>>>>    
>>>>        
>>>  
>>>      
> <value>com.tibco.tibjms.TibjmsXATopicConnectionFactory</value>
>  
>>>>    
>>>>        
>>>  
>>>      
>>>>       </property>      
>>>>       <property>                        
>>>>       <name>SupportsXA</name>                      
>>>>       <value>true</value>                    
>>>>       </property>
>>>>       <property>                        
>>>>       <name>ProviderIntegrationMode</name>                      
>>>>       <value>jndi</value>                    
>>>>       </property>
>>>>       <property>                        
>>>>       <name>JndiProperties</name>                      
>>>>
>>>>    
>>>>        
> <value>java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitial
>  
>>> ContextFactory,java.naming.provider.url=tcp://localhost:7222</value>
>>>  
>>>      
>>>>       </property>                            
>>>>       <property>                        
>>>>       <name>LogLevel</name>                      
>>>>       <value>finest</value>                    
>>>>       </property>
>>>>      
>>>>       <property>                        
>>>>       <name>UserName</name>                      
>>>>       <value>weblogic</value>
>>>>       </property>                            
>>>>
>>>>       <property>                        
>>>>       <name>Password</name>                      
>>>>       <value>weblogic</value>                    
>>>>       </property>
>>>>
>>>>    </properties>
>>>> <admin-objects>      
>>>>        <admin-object-group>
>>>>
>>>>    
>>>>        
>>> <admin-object-interface>javax.jms.Queue</admin-object-interface>
>>>
>>>  
>>>      
>>>>                <default-properties>      
>>>>                    <property>              
>>>>                       <name>DestinationJndiName</name>
>>>>                       <value>MyQueue</value>
>>>>                    </property>
>>>>                    <property>
>>>>                    <name>DestinationProperties</name>
>>>>                   <value>"Physical"</value>
>>>>                         </property>
>>>>                  
>>>>       </default-properties>
>>>>          <admin-object-instance>
>>>>                      <jndi-name>Queue1</jndi-name>
>>>>                      <properties>
>>>>                         <property>
>>>>                            <name>DestinationJndiName</name>
>>>>                            <value>route2jesb1</value>
>>>>                         </property>
>>>>                         <property>
>>>>                            <name>DestinationProperties</name>
>>>>                            <value>"Physical"</value>
>>>>                         </property>
>>>>                      </properties>
>>>>          </admin-object-instance>
>>>>           <admin-object-instance>
>>>>                            <jndi-name>Queue2</jndi-name>
>>>>                            <properties>
>>>>                               <property>
>>>>                                  <name>DestinationJndiName</name>
>>>>                                  <value>route2jesb2</value>
>>>>                               </property>
>>>>                               <property>
>>>>                                  <name>DestinationProperties</name>
>>>>                                  <value>"Physical"</value>
>>>>                               </property>
>>>>                            </properties>
>>>>          </admin-object-instance>
>>>>       </admin-object-group>
>>>>    </admin-objects>      
>>>>    <outbound-resource-adapter>            
>>>>        <connection-definition-group>
>>>>    
>>>>
>>>>    
>>>>        
>>> <connection-factory-interface>javax.jms.QueueConnectionFactory
>>>  
>>>      
>>>>           </connection-factory-interface>    
>>>>           <default-connection-properties>
>>>>              <properties>                    
>>>>                <property>                        
>>>>                <name>ConnectionFactoryJndiName</name>
>>>>    
>>>>        
>>>  
>>>      
>>>>                <value>XAQueueConnectionFactory</value>
>>>>                </property>                
>>>>             </properties>                
>>>>           </default-connection-properties>          
>>>>           <connection-instance>              
>>>>              <jndi-name>OutBoundConnection1</jndi-name>
>>>>        
>
>  
>>>>              <connection-properties>                
>>>>                 <pool-params>                    
>>>>                    <initial-capacity>2</initial-capacity>
>>>>    
>>>>        
>>>  
>>>      
>>>>                    <max-capacity>2</max-capacity>
>>>>    
>>>>        
>>>  
>>>      
>>>>                    <capacity-increment>1</capacity-increment>
>>>>    
>>>>        
>>>  
>>>      
>>>>                    <shrinking-enabled>true</shrinking-enabled>
>>>>    
>>>>        
>>>  
>>> <shrink-frequency-seconds>60</shrink-frequency-seconds>
>>>
>>>  
>>>      
>>>>                 </pool-params>                            
>>>>               </connection-properties>
>>>>            </connection-instance>      
>>>>         </connection-definition-group>
>>>>          
>>>>      
>>>>    </outbound-resource-adapter>
>>>>  
>>>>    
>>>> </weblogic-connector>
>>>>  
>>>>
>>>>    
>>>>        
> ------------------------------------------------------------------------
>  
>>>  
>>>      
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <!--
>>>>   ** This file was automatically generated by EJBGen 9.0
>>>>   ** Build: 20040513-1205
>>>> -->
>>>> <ejb-jar
>>>>   xmlns="http://java.sun.com/xml/ns/j2ee"
>>>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>>    
>>>>        
>>> http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
>>>  
>>>      
>>>>   version="2.1">
>>>>   <enterprise-beans>
>>>>     <message-driven>
>>>>       <ejb-name>messageDriven</ejb-name>
>>>>
>>>>        
> <ejb-class>examples.ejb20.message.MessageTraderBean</ejb-class>
>  
>>>>       <transaction-type>Container</transaction-type>
>>>>
>>>>    
>>>>        
>>> <message-destination-type>javax.jms.Queue</message-destination-type>
>>>  
>>>      
>>>>       <security-identity>
>>>>         <run-as>
>>>>           <role-name>weblogic</role-name>
>>>>         </run-as>
>>>>       </security-identity>
>>>>     </message-driven>
>>>>   </enterprise-beans>
>>>>   <assembly-descriptor>
>>>>  
>>>>     <security-role>
>>>>       <role-name>weblogic</role-name>
>>>>     </security-role>
>>>>     <container-transaction>
>>>>     <method>
>>>> <ejb-name>messageDriven</ejb-name>
>>>>  <method-name>*</method-name>
>>>>         </method>
>>>> <trans-attribute>NotSupported</trans-attribute>
>>>> </container-transaction>
>>>>   </assembly-descriptor>
>>>> </ejb-jar>
>>>>  
>>>>
>>>>    
>>>>        
> ------------------------------------------------------------------------
>  
>>>  
>>>      
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <!--
>>>>   ** This file was automatically generated by EJBGen 9.0
>>>>   ** Build: 20040513-1205
>>>> -->
>>>> <weblogic-ejb-jar
>>>>   xmlns="http://www.bea.com/ns/weblogic/90"
>>>>    
>>>>        
>>> xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
>>> http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
>>>
>>>  
>>>      
>>>>   <weblogic-enterprise-bean>
>>>>     <ejb-name>messageDriven</ejb-name>
>>>>
>>>>     <message-driven-descriptor>
>>>>        
>>>>       <pool>
>>>>         <max-beans-in-free-pool>200</max-beans-in-free-pool>
>>>>         <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
>>>>       </pool>
>>>>       <destination-jndi-name>Queue1</destination-jndi-name>
>>>>
>>>>    
>>>>        
> <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-
>  
>>> context-factory>
>>>  
>>>      
>>>>       <provider-url>t3://localhost:7001</provider-url>
>>>>
>>>>    
>>>>        
> <connection-factory-jndi-name>OutBoundConnection1</connection-factory-jn
>  
>>> di-name>
>>>  
>>>      
>>>>     </message-driven-descriptor>
>>>>   </weblogic-enterprise-bean>
>>>>   <security-role-assignment>
>>>>     <role-name>weblogic</role-name>
>>>>     <principal-name>weblogic</principal-name>
>>>>   </security-role-assignment>
>>>> </weblogic-ejb-jar>
>>>>  
>>>>    
>>>>        


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...

Re: [Fwd: Re: Question about GenericJmsRa]

by Binod :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Ramesh for forwarding....

Sounds the like the problem is the MDB configuration. Keith
is configuring MDB to use a connection factory created in GRA
for inbound communication.

That might be wrong.

There should be a way by which MDBs will be able to use the
RA without using this connection factory.

- Binod.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: [Fwd: Re: Question about GenericJmsRa]

by Binod :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://e-docs.bea.com/wls/docs91/resadapter/connect.html#1253140

Look like, you need to configure the jndi-name of the resource adapter
in the weblogic EJB descriptor file.

- Binod.

> Thanks Ramesh for forwarding....
>
> Sounds the like the problem is the MDB configuration. Keith
> is configuring MDB to use a connection factory created in GRA
> for inbound communication.
>
> That might be wrong.
>
> There should be a way by which MDBs will be able to use the
> RA without using this connection factory.
>
> - Binod.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


RE: [Fwd: Re: Question about GenericJmsRa]

by Taylor, Keith :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

I've enclosed the xml files and the particular stacktrace I'm getting:

 

I did change the weblogic-ejb-jar.xml to reflect the reference to the resource adapter. Since it’s a choice in the schema I can’t set the URL and queue, or connection information. How would I do that?

 

STACKTRACE:

 

Unable to deploy EJB: ejb20_message.jar from ejb20_message.jar:

 

javax.resource.spi.InvalidPropertyExceptionweblogic.connector.external.EndpointActivationException: javax.resource.spi.InvalidPropertyException

        at weblogic.connector.external.impl.EndpointActivationUtils.activateEndpoint(EndpointActivationUtils.java:142)

        at weblogic.ejb.container.internal.JCABindingManager.connect(JCABindingManager.java:119)

        at weblogic.ejb.container.internal.MDConnectionManager.startConnectionPolling(MDConnectionManager.java:229)

        at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDrivenManager.java:556)

        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerStart(MessageDrivenBeanInfoImpl.java:1022)

        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessageDrivenBeans(MessageDrivenBeanInfoImpl.java:974)

        at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1565)

        at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:1387)

        at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:495)

        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)

        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)

        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)

        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)

        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)

        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)

        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)

        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)

        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)

        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)

        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)

        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)

        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)

        at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:131)

        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)

        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:815)

        at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1222)

Caused by: javax.resource.spi.InvalidPropertyException

        at com.sun.genericra.util.ExceptionUtils.newInvalidPropertyException(ExceptionUtils.java:42)

        at com.sun.genericra.util.ObjectBuilderFactory$JndiObjectBuilder.createObject(ObjectBuilderFactory.java:100)

        at com.sun.genericra.util.ObjectBuilder.build(ObjectBuilder.java:99)

        at com.sun.genericra.inbound.EndpointConsumer.initializeAdministeredObjects(EndpointConsumer.java:333)

        at com.sun.genericra.inbound.EndpointConsumer.<init>(EndpointConsumer.java:74)

        at com.sun.genericra.GenericJMSRA.endpointActivation(GenericJMSRA.java:214)

        at weblogic.connector.security.layer.AdapterLayer.endpointActivation(AdapterLayer.java:934)

        at weblogic.connector.external.impl.EndpointActivationUtils.activateEndpoint(EndpointActivationUtils.java:130)

        at weblogic.ejb.container.internal.JCABindingManager.connect(JCABindingManager.java:119)

        at weblogic.ejb.container.internal.MDConnectionManager.startConnectionPolling(MDConnectionManager.java:229)

        at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDrivenManager.java:556)

        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerStart(MessageDrivenBeanInfoImpl.java:1022)

        at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessageDrivenBeans(MessageDrivenBeanInfoImpl.java:974)

        at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1565)

        at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:1387)

        at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:495)

        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)

        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)

        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)

        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)

        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)

        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)

        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)

        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)

        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)

        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)

 

Keith Taylor

Enterprise Application Architecture

 

Office: 678 893-1397

Cell:    678 232-7634

BlackBerry Device: jt3998@...

Visit:

http://architecture.cingularnext.net:8030/sites/eaa/default.aspx

 

 

How am I doing? Go to Enterprise Application Architecture Customer Satisfaction Survey

 

 

 

 

-----Original Message-----
From: Binod.Pg@... [mailto:Binod.Pg@...]
Sent: Friday, May 18, 2007 12:54 PM
To: dev@...; Taylor, Keith
Cc: users@...
Subject: Re: [Fwd: Re: Question about GenericJmsRa]

 

http://e-docs.bea.com/wls/docs91/resadapter/connect.html#1253140

 

Look like, you need to configure the jndi-name of the resource adapter

in the weblogic EJB descriptor file.

 

- Binod.