Using foreign JMS providers with wls
does anybody have a clou, where i can find that article, i think it's
by steve felts on using foreign JMS providers with wls? i think the
link on dev2dev is broken?
The new article is called "Using Foreign JMS Providers with WLS" and it's
here:
http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
greg
"leopld goess" <[email protected]> wrote in message
news:[email protected]..
> does anybody have a clou, where i can find that article, i think it's
> by steve felts on using foreign JMS providers with wls? i think the
> link on dev2dev is broken?
Similar Messages
-
Foreign JMS Providers with WebLogic Server does not close connection
Hello All,
We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
context factory to bind MQ.
We found a number of LDAP connections are getting opened by JNDIMapper, but it's
not getting closed.
Can some one give some clue to this ?
Also any suggestion to serve the current purpose is welcome.
Thanks,
Sudarson
What version are you using? "wlsmqseries.zip" does enlisting of MQ JMS
sessions in XA transactions, but WLS 8.1 does that for you out of the box.
If you're using 8.1, it would be better to use the new 8.1 features for
foreign JMS providers.
A place to start is the "Using WebLogic JMS with EJBs and Servlets" section
of the JMS programming documentation for 8.1, and there have been many other
posts on this newsgroup with details. (There also appear to be quite a few
customers using this feature in their own systems, judging from the number
of posts.)
greg
"sudarson" <[email protected]> wrote in message
news:40bf05ea$1@mktnews1...
>
> Reposting the message. Awaiting response from newsgroup or BEA
> Thanks,
> Sudarson
> "sudarson" <[email protected]> wrote:
> >
> >Hello All,
> >
> >We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for
integrating
> >WebLogic Server with MQ so that we can incorporate XA transactions. We
> >use LDAP
> >context factory to bind MQ.
> >
> >We found a number of LDAP connections are getting opened by JNDIMapper,
> >but it's
> >not getting closed.
> >
> >Can some one give some clue to this ?
> >
> >Also any suggestion to serve the current purpose is welcome.
> >
> >Thanks,
> >Sudarson
>
-
JNDIMapper Problem (Foreign JMS Providers with WebLogic Server does not close connection )
Hello All,
We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
context factory to bind MQ.
We found a number of LDAP connections are getting opened by JNDIMapper, but it's
not getting closed.
Can some one give some clue to this ?
Also any suggestion to serve the current purpose is welcome.
Thanks, Sudarson
Hello All,
We tried to use wlsmqseries.zip classes (specially JNDI Mapper) for integrating
WebLogic Server with MQ so that we can incorporate XA transactions. We use LDAP
context factory to bind MQ.
We found a number of LDAP connections are getting opened by JNDIMapper, but it's
not getting closed.
Can some one give some clue to this ?
Also any suggestion to serve the current purpose is welcome.
Thanks, Sudarson
-
Whitepaper on foreign JMS providers
The white paper that I posted a little while ago on integrating WLS 7.0 with
foreign JMS providers is now available on the "dev2dev" website. You can use
this link:
http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
and click on "Using foreign JMS providers with JMS".
And you can also use this:
ftp://edownload:[email protected]/pub/downloads/jmsproviders.pdf
greg
The white paper that I posted a little while ago on integrating WLS 7.0 with
foreign JMS providers is now available on the "dev2dev" website. You can use
this link:
http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
and click on "Using foreign JMS providers with JMS".
And you can also use this:
ftp://edownload:[email protected]/pub/downloads/jmsproviders.pdf
greg
-
ClassNotFoundException for initial-context-factory using foreign JMS p.
Hi,
I am currently working on migrating an application from weblogic 9 to weblogic 10 and I bumped into this issue while MDB connecting to JMS.
[Loaded cz.jaksky.riskscenario.beans.RiskScenarioServiceLocalHome from file:/C:/SVN/app-WLS10-FRESH/app-deploy/servers/myserver/tmp/_WL_user/performance/nyubkw/point-interfaces.jar]
<17-Sep-2012 11:01:27 o'clock CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: PerformanceAsyncRequestBean is unable to connect to the JMS destination: wls.AsyncQueue. The Error was:
javax.naming.NoInitialContextException: Cannot instantiate class: cz.jaksky.common.jms.JMSInitialContextFactory [Root exception is java.lang.ClassNotFoundException: cz.jaksky.common.jms.JMSInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:182)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:96)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:377)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at weblogic.jms.common.CDS$2.run(CDS.java:486)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:131)
at weblogic.jms.common.CDS.lookupDestination(CDS.java:480)
at weblogic.jms.common.CDS.lookupDDAndCalloutListener(CDS.java:345)
at weblogic.jms.common.CDS.access$100(CDS.java:41)
at weblogic.jms.common.CDS$DDListenerRegistrationTimerListener.timerExpired(CDS.java:193)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: java.lang.ClassNotFoundException: cz.jaksky.common.jms.JMSInitialContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
... 23 more
I am using foreign JMS provider with provided mapping. Config follows:
ejb-jar.xml:
<enterprise-beans>
<message-driven>
<ejb-name>PortfolioRetrieverAsyncRequestBean</ejb-name>
<ejb-class>cz.jaksky.common.async.AsynchronousRequestMessageBean</ejb-class>
<transaction-type>Bean</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
<subscription-durability>Durable</subscription-durability>
</message-driven-destination>
<message-selector>
<![CDATA[ Service IN ('PortfolioRetriever')
AND MessageType = 'request'
AND BigBox = FALSE
]]>
</message-selector>
</message-driven>
</enterprise-beans>
weblogic-ejb-jar.xml:
<weblogic-enterprise-bean>
<ejb-name>PortfolioRetrieverAsyncRequestBean</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>64</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>wls.AsyncQueue</destination-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-factory-jndi-name>ServiceLocatorAsyncQueueFactory</connection-factory-jndi-name>
</message-driven-descriptor>
<dispatch-policy>PortfolioAsyncQueueWorkManager</dispatch-policy>
</weblogic-enterprise-bean>
jmsconfig-jms.xml
<foreign-server name="TibjmsAsyncServer">
<default-targeting-enabled>true</default-targeting-enabled>
<foreign-destination name="AsyncQueue.LOCAL.prgdwm355410.7001">
<local-jndi-name>wls.AsyncQueue</local-jndi-name>
<remote-jndi-name>AsyncQueue.LOCAL.prgdwm355410.7001</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="FTQueueConnectionFactory">
<local-jndi-name>ServiceLocatorAsyncQueueFactory</local-jndi-name>
<remote-jndi-name>FTQueueConnectionFactory</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>cz.jaksky.common.jms.JMSInitialContextFactory</initial-context-factory>
<connection-url>tcp://JUSD-FTPOIA.jaksky.com:22542,tcp://JUSD-FTPOB.jaksky.com:22543</connection-url>
</foreign-server>
Module containing this MDB is packed as an ear file with following structure:
APP-INF/lib/modules.jar - contains AsynchronousRequestMessageBean class
APP-INF/lib/interface.jar - contains JMSInitialContextFactory (class used for initial-context-factory)
portfolio-async.jar
META-INF/ejb-jar.xml content pasted above
META-INF/webogic-ejb-jar.xml content pasted above
Weblogic system classpath doesn't contain any application sepcific libraries.
This set up was working for weblogic 9 without any problem. I am just wondering what the problem is whether I am faceing class loading issue or JMS configuration issue and how to resolve it.
Edited by: user13047709 on 18-Sep-2012 07:15
Edited by: user13047709 on 18-Sep-2012 07:16Hi,
When working with a non-WebLogic JNDI provider (or a non-WebLogic JMS provider), the non-WebLogic client classes must be made available to the classloader of the calling application in WebLogic Server. This is usually accomplished by adding them to the system classpath.
In your case, WebLogic is looking for a proprietary/foreign JNDI Context Factory class named "cz.jaksky.common.jms.JMSInitialContextFactory", which means you need to make sure that a jar/dir that contains the non-WebLogic class "JMSInitialContextFactory.class" is in the classpath.
The configuration for this should be similar in WL9 and WL10. It could be that your classpath is already setup to reference the foreign class, but it refers to a directory/jar that you haven't setup yet on your WL10 host.
HTH,
Tom -
Using WebLogic JMS Wrappers with Spring
Hi,
I was just wondering if anyone used WebLogic JMS wrappers with Spring?
I am using WebLogic configured to have Sonic as my Foreign JNDI Provider. Weblogic provide me with specific entries on the admin console to set information such as the JNDI name of the Sonic Connection Factory. If I specify this JNDI name in the Spring config, and call getConnection() then I will get back a new connection each time.
I don't want this, I want to cache the connection (as connections are expensive in Sonic). This is where the WebLogic JMS wrappers come in, they can handle the pooling for me but the only way I can see to use them is via a resource-ref. It is possible for Spring to get a handle onto these wrappers or should I use Spring's own pooling mechanism instead?
P.S. I've also asked this question on the Spring forum
Thanks for any help
MandyMaybe you have already tried the following:
<beans xmlns:jee="http://www.springframework.org/schema/jee" ... >
<jee:jndi-lookup id="connectionFactory" jndi-name="jms.ConnectionFactory">
<jee:environment>
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://localhost:7001
</jee:environment>
</jee:jndi-lookup>
</beans>
an alternative is to use the JNDI template
<beans ... >
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7001</prop>
</props>
</property>
</bean>
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName"><value>jms.ConnectionFactory</value></property>
</bean>
</beans> -
Dead message queue - DLQ for foreign JMS providers
Is there a way to configure Error-queue or 'Dead message/letter queue' in MDB listening to foreign JMS provider like JBoss? (Automatic routing of failed messages to error-queue after specified retries to preserve JMS messages)
I did all the docs from BEA and it doesn't cover this DLQ for foreign JMS providers :). For Weblogic JMS service, DLQ can be configured in the config.xml. But for <ForeignJMSServer> there is no way to configure dead-queue.
Could some please validate this before I start coding this piece in the application instead of appserver configuration.
JMS provider is Tibco and JMS destinations are pre-defined and can't/doesn't need to be created
Thanks in advance.Interesting idea! But no, there's no facility for redirecting failed foreign provider messages to a DLQ. This is a feature normally supplied by the foreign provider itself.
Some foreign providers, in addition to WebLogic 9.0 JMS, provide a "redelivery count" property in the message. If the foreign provider provides no automatic DLQ capability, you might be able to leverage this property to have your MDB application code automatically forward messages with high redelivery counts to the DLQ.
Tom -
Workaround for using Oracle JDBC extension with WLS pooling
Reading the newsgroup I saw that many of us encountered the problems
with ClassCastException when tried to use Oracle JDBC extension
with WLS pooling. I also had.
In this case BEA recommends to use dangerous
method getVendorConnection() which exposes
the physical connection object to your code.
Yes it's really dangerous because of unsafe usage may breaks
WLS pooled connection(s).
Moreover, this practice will make your JDBC code
unportable (your JDBC code in addition to Oracle dependence
became Weblogic dependent):
void doSmth() {
Connection con = ...;
Connection vCon = ((WLConnection)con).getVendorConnection();
// + mess of usage con in one places and vCon in others
// (where Oracle extensions are needed)
// !Don't forget to don't close vCon!
Sux.
I found the workaround.
Introduction
============
Yes the real cause of ClassCastException is that
in depth of Oracle driver the casting
to class oracle.jdbc.driver.OracleConnection
(not to interface oracle.jdbc.OracleConnection)
is performed.
Someone can say that this is bug or pure desing.
Weblogic pooled connection provide dynamic
implementation for all public interfaces
which real physical (wrapped) connection object implements.
Great feature!
But I guess that all interface methods implemented
by simple call-delegation to physical (wrapped) connection object.
In case of oracle.jdbc.OracleConnection interface
this approach doesn't work for at least one its method:
public OracleConnection unwrap()
WLS pooled connection shoudn't implement this method by
delegation to physical connection object BUT should
return physical connection object itself!
// Wrong implementation of unwrap()
// delegation is used
public OracleConnection unwrap() {
return physicalConnection.unwrap();
// Right implementation of unwrap()
// physical connection returned
public OracleConnection unwrap() {
return physicalConnection;
Workaround
==========
1. Develop your own OracleConnection wrapper class:
import oracle.jdbc.OracleConnection;
import weblogic.jdbc.extensions.WLConnection;
public class MyOracleConnectionImpl implements OracleConnection {
private OracleConnection con;
public MyOracleConnectionImpl(OracleConnection connection)
throws SQLException
this.con = connection;
public OracleConnection unwrap() {
return (OracleConnection)
((WLConnection)con).getVendorConnection();
/* Implement all other methods by delegation to con object */
2. Don't get Connections directly from DataSource --
develop your own simple (may be static) utility
class which retrives Connections from dataSource
and returns them wrapped into your MyOracleConnectionImpl
to your code from some method:
puclic abstract class MyConnectionSource {
public static Connection getConnection() {
Connection con = // get it from DataSource
return new MyOracleConnectionImpl((OracleConnection)con);
3. Add attribute RemoveInfectedConnectionsEnabled="false"
to definition of your JDBCConnectionPool within config.xml
You may do it because of you `safely` use vendorConnection --
you don't expose it to application code.
4. Enjoy the Oracle JDBC extensions in your code!
Example:
Connection con = MyConnectionSource.getConnection;
ArrayDescriptor add =
ArrayDescriptor.createDescriptor("your_type", con);
Hope it helps to someone.
Best regards,
Eugene VoytitskyHello Eugene Voytitsky,
Thanks Eugene Voytitsky for your idea
I have tried the solution suggested by You, but it did not work.
It still throws ClassCastException.
I am sorry for posting the whole code of two classes below.
I did this to give you more clarity.
I am also indicating the place where the exception was thrown..
Please let me know if I am doing something wrong.
OracleConnection Wrapper class
package ejbTesting;
// sql imports
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
// util imports
import java.util.Map;
import java.util.Properties;
// imports from Oracle Driver Classes
import oracle.jdbc.OracleConnection;
import oracle.jdbc.OracleOCIFailover;
import oracle.jdbc.OracleSavepoint;
// import from Weblogic extensions
import weblogic.jdbc.extensions.WLConnection;
public class WeblogicConnectionWrapper implements OracleConnection
// oracle connection object
private OracleConnection connection;
public WeblogicConnectionWrapper (OracleConnection orclConnection)
try
this.connection = orclConnection;
catch(Exception unexpected )
unexpected.printStackTrace();
public OracleConnection unwrap()
try
// The datasource returns a weblogic.jdbc.pool.Connection
// This needs to be type casted to weblogic.jdbc.extensions.WLConnection
// Only this weblogic.jdbc.extensions.WLConnection CAN BE type casted
// to OracleConnection
return (OracleConnection) ((WLConnection) connection).getVendorConnection();
catch(Exception sqlException )
sqlException.printStackTrace ();
return null;
/* Implement all other methods by delegation to connection object */
public Connection _getPC()
return connection._getPC();
public void archive(int i, int j, String s)
throws SQLException
connection.archive(i, j, s);
public void assertComplete()
throws SQLException
connection.assertComplete();
public void clearWarnings()
throws SQLException
connection.clearWarnings();
public void close()
throws SQLException
connection.close();
public void commit()
throws SQLException
connection.commit();
public Statement createStatement()
throws SQLException
return connection.createStatement();
public Statement createStatement(int i, int j)
throws SQLException
return connection.createStatement(i, j);
public boolean getAutoClose()
throws SQLException
return connection.getAutoClose();
public boolean getAutoCommit()
throws SQLException
return connection.getAutoCommit();
public CallableStatement getCallWithKey(String s)
throws SQLException
return connection.getCallWithKey(s);
public String getCatalog()
throws SQLException
return connection.getCatalog();
public boolean getCreateStatementAsRefCursor()
return connection.getCreateStatementAsRefCursor();
public int getDefaultExecuteBatch()
return connection.getDefaultExecuteBatch();
public int getDefaultRowPrefetch()
return connection.getDefaultRowPrefetch();
public Object getDescriptor(String s)
return connection.getDescriptor(s);
public boolean getExplicitCachingEnabled()
throws SQLException
return connection.getExplicitCachingEnabled();
public boolean getImplicitCachingEnabled()
throws SQLException
return connection.getImplicitCachingEnabled();
public boolean getIncludeSynonyms()
return connection.getIncludeSynonyms();
public Object getJavaObject(String s)
throws SQLException
return connection.getJavaObject(s);
public DatabaseMetaData getMetaData()
throws SQLException
return connection.getMetaData();
public Properties getProperties()
return connection.getProperties();
public boolean getRemarksReporting()
return connection.getRemarksReporting();
public boolean getRestrictGetTables()
return connection.getRestrictGetTables();
public String getSQLType(Object obj)
throws SQLException
return connection.getSQLType(obj);
public String getSessionTimeZone()
return connection.getSessionTimeZone();
public int getStatementCacheSize()
throws SQLException
return connection.getStatementCacheSize();
public PreparedStatement getStatementWithKey(String s)
throws SQLException
return connection.getStatementWithKey(s);
public int getStmtCacheSize()
return connection.getStmtCacheSize();
public short getStructAttrCsId()
throws SQLException
return connection.getStructAttrCsId();
public boolean getSynchronousMode()
return connection.getSynchronousMode();
public int getTransactionIsolation()
throws SQLException
return connection.getTransactionIsolation();
public Map getTypeMap()
throws SQLException
return connection.getTypeMap();
public String getUserName()
throws SQLException
return connection.getUserName();
public boolean getUsingXAFlag()
return connection.getUsingXAFlag();
public SQLWarning getWarnings()
throws SQLException
return connection.getWarnings();
public boolean getXAErrorFlag()
return connection.getXAErrorFlag();
public boolean isClosed()
throws SQLException
return connection.isClosed();
public boolean isLogicalConnection()
return connection.isLogicalConnection();
public boolean isReadOnly()
throws SQLException
return connection.isReadOnly();
public String nativeSQL(String s)
throws SQLException
return connection.nativeSQL(s);
public Object openJoltConnection(String s, short word0, short word1)
return connection.openJoltConnection(s, word0, word1);
public void oracleReleaseSavepoint(OracleSavepoint oraclesavepoint)
throws SQLException
connection.oracleReleaseSavepoint(oraclesavepoint);
public void oracleRollback(OracleSavepoint oraclesavepoint)
throws SQLException
connection.oracleRollback(oraclesavepoint);
public OracleSavepoint oracleSetSavepoint()
throws SQLException
return connection.oracleSetSavepoint();
public OracleSavepoint oracleSetSavepoint(String s)
throws SQLException
return connection.oracleSetSavepoint(s);
public int pingDatabase(int i)
throws SQLException
return connection.pingDatabase(i);
public CallableStatement prepareCall(String s)
throws SQLException
return connection.prepareCall(s);
public CallableStatement prepareCall(String s, int i, int j)
throws SQLException
return connection.prepareCall(s, i, j);
public CallableStatement prepareCallWithKey(String s)
throws SQLException
return connection.prepareCallWithKey(s);
public PreparedStatement prepareStatement(String s)
throws SQLException
return connection.prepareStatement(s);
public PreparedStatement prepareStatement(String s, int i, int j)
throws SQLException
return connection.prepareStatement(s, i, j);
public PreparedStatement prepareStatementWithKey(String s)
throws SQLException
return connection.prepareStatementWithKey(s);
public void purgeExplicitCache()
throws SQLException
connection.purgeExplicitCache();
public void purgeImplicitCache()
throws SQLException
connection.purgeImplicitCache();
public void putDescriptor(String s, Object obj)
throws SQLException
connection.putDescriptor(s, obj);
public void registerApiDescription(String s, short word0, short word1, String
s1)
connection.registerApiDescription(s, word0, word1, s1);
public void registerSQLType(String s, Class class1)
throws SQLException
connection.registerSQLType(s, class1);
public void registerSQLType(String s, String s1)
throws SQLException
connection.registerSQLType(s, s1);
public void registerTAFCallback(OracleOCIFailover oracleocifailover, Object
obj)
throws SQLException
connection.registerTAFCallback(oracleocifailover, obj);
public void rollback()
throws SQLException
connection.rollback();
public void setAutoClose(boolean flag)
throws SQLException
connection.setAutoClose(flag);
public void setAutoCommit(boolean flag)
throws SQLException
connection.setAutoCommit(flag);
public void setCatalog(String s)
throws SQLException
connection.setCatalog(s);
public void setCreateStatementAsRefCursor(boolean flag)
connection.setCreateStatementAsRefCursor(flag);
public void setDefaultExecuteBatch(int i)
throws SQLException
connection.setDefaultExecuteBatch(i);
public void setDefaultRowPrefetch(int i)
throws SQLException
connection.setDefaultRowPrefetch(i);
public void setExplicitCachingEnabled(boolean flag)
throws SQLException
connection.setExplicitCachingEnabled(flag);
public void setImplicitCachingEnabled(boolean flag)
throws SQLException
connection.setImplicitCachingEnabled(flag);
public void setIncludeSynonyms(boolean flag)
connection.setIncludeSynonyms(flag);
public void setReadOnly(boolean flag)
throws SQLException
connection.setReadOnly(flag);
public void setRemarksReporting(boolean flag)
connection.setRemarksReporting(flag);
public void setRestrictGetTables(boolean flag)
connection.setRestrictGetTables(flag);
public void setSessionTimeZone(String s)
throws SQLException
connection.setSessionTimeZone(s);
public void setStatementCacheSize(int i)
throws SQLException
connection.setStatementCacheSize(i);
public void setStmtCacheSize(int i)
throws SQLException
connection.setStmtCacheSize(i);
public void setStmtCacheSize(int i, boolean flag)
throws SQLException
connection.setStmtCacheSize(i, flag);
public void setSynchronousMode(boolean flag)
connection.setSynchronousMode(flag);
public void setTransactionIsolation(int i)
throws SQLException
connection.setTransactionIsolation(i);
public void setTypeMap(Map map)
throws SQLException
connection.setTypeMap(map);
public void setUsingXAFlag(boolean flag)
connection.setUsingXAFlag(flag);
public void setWrapper(OracleConnection oracleconnection)
connection.setWrapper(oracleconnection);
public void setXAErrorFlag(boolean flag)
connection.setXAErrorFlag(flag);
public void shutdown(int i)
throws SQLException
connection.shutdown(i);
public void startup(String s, int i)
throws SQLException
connection.startup(s, i);
Util class to get Wrapped Connections from
datasource
package ejbTesting;
// j2ee imports
import javax.naming.InitialContext;
import javax.sql.DataSource;
// sql imports
import java.sql.Connection;
// imports from Oracle Driver Classes
import oracle.jdbc.OracleConnection;
* Wrapper class for the DataSource Connection from Weblogic pool
public class DataSourceConnectionWrapper
// datasource variable
private static transient DataSource datasource = null;
private static String dbName = "jdbc/workbench";
* Method that returns the database connection
public static Connection getConnection()
try
// initialsing the datasource object
initialiseDataSource ();
// Getting a connection from the datasource
Connection con = datasource.getConnection( );
// wrapping it custom wrapper class and
// returning the connection object
return new WeblogicConnectionWrapper((OracleConnection)con);
catch(Exception exception )
exception.printStackTrace();
return null;
private static void initialiseDataSource( ) throws Exception
if ( datasource == null )
try
InitialContext ic = new InitialContext( );
datasource = (DataSource) ic.lookup( dbName );
catch (Exception ne )
throw new Exception( "NamingException while looking up DataSource with
JNDI name" +
dbName + ": \n" + ne.getMessage( ) );
Exception Stack Trace
The line 46 in DataSourceConnectionWrapper
corresponds to
return new WeblogicConnectionWrapper((OracleConnection)con);
Which I feel is logical as the connection which we get from Weblogic
datasource cannot be type casted to OracleConnection
java.lang.ClassCastException: weblogic.jdbc.pool.Connection
at ejbTesting.DataSourceConnectionWrapper.getConnection(DataSourceConnectionWrapper.java:46) -
Configuring WL JMS as a foreign JMS provider with security scope (WLS 8.1)
Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
The queue and the connection factory are visible in the jndi tree of this server.
2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
<11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
EasyMoneyQueue. The Error was:
[EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
: type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
, action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
Access denied to resource: type=<jms>, application=, destinationType=queue, reso
urce=CancelEasyMoneyQueue, action=receive'
So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
<security-role-assignment>
<role-name>queueUser</role-name>
<principal-name>USER_QUEUE<principal-name>
</security-role-assignment>
I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
Now server 1 throws exception after redeployment on server 2:
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
at weblogic.security.service.SecurityServiceManager.seal(SecurityService
Manager.java:680)
Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
Thanks in advance,
RainerHello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
The queue and the connection factory are visible in the jndi tree of this server.
2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
<11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
EasyMoneyQueue. The Error was:
[EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
: type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
, action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
Access denied to resource: type=<jms>, application=, destinationType=queue, reso
urce=CancelEasyMoneyQueue, action=receive'
So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
<security-role-assignment>
<role-name>queueUser</role-name>
<principal-name>USER_QUEUE<principal-name>
</security-role-assignment>
I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
Now server 1 throws exception after redeployment on server 2:
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
at weblogic.security.service.SecurityServiceManager.seal(SecurityService
Manager.java:680)
Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
Thanks in advance,
Rainer -
Integrating JMS providers with JBoss
Hi.
I am trying to integrate a foreign JMS provider to JBoss. I looked at the docs and all - and even managed to deploy an mbean that puts the factories and queues into the jndi - after which anyone who does a lookup() on it is capable of using the foreign provider.
However, trying to put an MDB - it doesn't work anymore. the MDB does not register itself on the destination it's supposed to - and therefore never receives the messages. The documentation is not very clear about how to do all that - does anyone have any experience with that?
Thanks, Nimo.Hi Nimo,
Many of the most popular JMS providers (such as ArjunaMS, SonicMQ and FioranoMQ) provide various integration facilities with JBoss. I just did a Google site search and found information on all of the above how to integrate those providers with JBoss:
ArjunaMS Google search was:
site:www.arjuna.com jboss
Best hit:
http://www.arjuna.com/products/jboss/
SonicMQ Google search was:
site:www.sonicsoftware.com jboss
Best hit:
http://www.sonicsoftware.com/cgi-bin/sonic.cgi/dx_results.w?subcategory=23
FioranoMQ Google search was:
site:www.fiorano.com jboss
Best hit:
http://www.fiorano.com/downloads/fmq/FMQFaqs.pdf (pg 73 provides refers to JBoss integration information in a "Developer's Guide" - I guess this must be in a download of the product?)
Hope this helps you!
Cheers,
Tom Jenkinson
Arjuna Technologies Limited -
Error while using webmethod JMS provider with JNDI
Hi,
I am using webmethod JMS provider (not SAP JMS) with JNDI to connect to webmethod with XI. Central J2EE adapter engine is used and the comm chaneel is configured in with appropriate Provider JNDI Server address, initial context factory, Name of queue connection factory etc.
While activated the adapter short log shows: Adapter has not provided any status information about this channel"
In the detailed log following error message is displayed: "Obtained connection factory: null#"
#1.5 #001A4BAC31000052000001520000152200045090BF28DACA#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
#1.5 #001A4BAC31000052000001530000152200045090BF28DB65#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Looking up connection factory under name NAIP_XIQueueConnectionFactory#
#1.5 #001A4BAC31000052000001540000152200045090BF28E42E#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Obtained connection factory: null#
#1.5 #001A4BAC31000052000001550000152200045090BF28E4B3#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
#1.5 #001A4BAC31000052000001560000152200045090BF28E528#1214482519516#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
#1.5 #001A4BAC31000052000001570000152200045090BF28E5A9#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Info##Java###Sucessfully executed CF invocations for connection factory object: for profile: #2#<null>#ConnectionProfile of channel: CC_RCV_JMS_SAPJNDIon node: 3010950 having object id: e4413a5265a436459e271d5e0dd4859b#
#1.5 #001A4BAC31000052000001580000152200045090BF28E64E#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
#1.5 #001A4BAC31000052000001590000152200045090BF28E6CA#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
#1.5 #001A4BAC310000520000015A0000152200045090BF28E741#1214482519517#com.sap.aii.adapter.jms.core.common.StringUtils##com.sap.aii.adapter.jms.core.common.StringUtils.isBlank(String str)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
#1.5 #001A4BAC310000520000015B0000152200045090BF28E7C3#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Creating connection...#
#1.5 #001A4BAC310000520000015C0000152200045090BF28EB51#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Warning##Java###Catching #1#java.lang.NullPointerException
at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection(ConnectorImpl.java:198)
at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:166)
at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:186)
at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:151)
at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:235)
at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:154)
at com.sap.aii.adapter.jms.core.channel.AdapterImpl.doAddUpdateChannel(AdapterImpl.java:404)
at com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(AdapterImpl.java:376)
at com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl$1.run(ChannelLifecycleCallbackImpl.java:51)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
#1.5 #001A4BAC310000520000015D0000152200045090BF28EC6A#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Error##Plain###[[ChannelName:CC_RCV_JMS_SAPJNDI,ChannelId: e4413a5265a436459e271d5e0dd4859b]] Error adding/updating channel.#
#1.5 #001A4BAC310000520000015E0000152200045090BF28ECF8#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
#1.5 #001A4BAC310000520000015F0000152200045090BF28ED76#1214482519519#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl##com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded().run()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
#1.5 #001A4BAC3100005F000000660000152200045090BF65478A#1214482523474#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded(Channel channel)#AAAAAAAAA#108##n/a##002ee500437911dd99cf001a4bac3100#SAPEngine_Application_Thread[impl:3]_29##0#0#Path##Plain###Exiting method#
Please let me know anyone has come accross the problem or has idea how to solve it. Thanks.Hi,
Ask ur basis admin to restart JMS adpater From Vis administrator and try again to activate the comm channel.
Hope this will solve ur problem and once again check connection fatcory and Queue name provided by Webmethod admin.
Regards,
Srini -
Using JBOSS JMS provider with XI
Hi,
I am connecting XI to a custom Java application developed on JBOSS app server. The custom application is developed with connectivity using JMS. I was told that JBOSS has a JMS provider used by the custom app. Has anyone done this before? Is it possible for XI to use JBOSS JMS provider? How difficult is this going to be for synchronous interface? Any information is greatly appreciated.
thanks.
James Changhi,
first deploy jboss-j2ee.jar,jms.jar,dom4j-full.jar..for deploying these jars into the xi follow this link
http://help.sap.com/saphelp_nw04s/helpdata/en/33/e6fb40f17af66fe10000000a1550b0/frameset.htm
then to make use of the JMS adapter follow this link,
http://help.sap.com/saphelp_nw04s/helpdata/en/4d/a3bc97ff55c742af7faed661635baf/frameset.htm
hope this will be useful.....
regards,
Sundararamaprasad -
Integrate third party JMS providers with sunone 8
Hi,
I am trying to integrate a JMS provider, FioranoMQ with Sunone Application server (version 8). I have defined an external queue connection factory using the administration console. But I am not able to deploy the EJB as the exception in server.log says that queue connection factory does not exist.
Here is the stack trace of the exception
[com.sun.enterprise.connectors.ConnectorRuntimeException: jms_MyQcfis not created yet!]|#]
[#|2004-01-06T15:43:55.312-0800|SEVERE|j2ee-appserver1.4|javax.enterprise.system.container.ejb.mdb|_ThreadID=11;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: jms_MyQcfis not created yet!
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.setValuesFromConfiguration(ActiveJmsResourceAdapter.java:316)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:259)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:139)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:189)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:196)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:464)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:129)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:205)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:156)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:466)
In case I again try to create the jms_myqcf , it says that resource already exists.
The resource reference defined in the xml files are
Sun application client.xml
=====================
<sun-application-client>
<resource-ref>
<res-ref-name>jms_myqcf</res-ref-name>
<jndi-name>jms_myqcf</jndi-name>
<default-resource-principal>
<name></name>
<password></password>
</default-resource-principal>
</resource-ref>
<resource-env-ref>
<resource-env-ref-name>jms_MyQueue</resource-env-ref-name>
<jndi-name>jms_MyQueue</jndi-name>
</resource-env-ref>
</sun-application-client>
Sun EJB JAR.XML
===============
<sun-ejb-jar>
<enterprise-beans>
<unique-id>1</unique-id>
<ejb>
<ejb-name>SimpleMessageEJB</ejb-name>
<jndi-name>jms_MyQueue</jndi-name>
<mdb-connection-factory>
<jndi-name>jms_myqcf</jndi-name>
</mdb-connection-factory>
</ejb>
</enterprise-beans>
</sun-ejb-jar>
Do you have any idea why this exception is thrown?
JamesYou are right that I am using j2ee 1.4 final release.
I donot know much about connector 1.5 resource adapter and donot have one. Is there no other way that i can integrate an external JMS provider with sunone?
I intend to do the following.
- define the connection factory object & destination object in the external JNDI or any JNDI of sunone so that the applications can lookup these objects.
- Now i want to deploy a MDB which creates connection using the conn factory and listens for messages on destination defined in the jndi in the first step.
Thats all i want to do. Do you know which is the easier and best approach to do that? -
Error occurred when use foreign Jms server[JMSClientExceptions:055142].
I want to use a foreign Jms server(Tibco EMS), after I have config the JNDI of foreign server,connectionfactory and destinations, the correct JNDI name can be find on the JNDI tree.
Then I deploy a demo mdb ear on the weblogic(version is 10.3),there's warnning tag on the ear application, and there is error message in the log:
<2011-1-10 上午10时15分07秒 CST> <Warning> <EJB> <BEA-010061> <The Message-Drive
n EJB: MDBDemo is unable to connect to the JMS destination: NotifyAlertAlertQueue. The Error was:
weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055142]Foreign destination, Queue[notify.alert.alertQueue]>
NotifyAlertAlertQueue is the JNDI name of the destination defined on the weblogic console,and the same as ems jndi name for queue notify.alert.alertQueue.
It seems that the application has find the queue correctly, but why it throw that exception[JMSClientExceptions:055142]?
Thanks for any help.
Edited by: 826761 on 2011-1-9 下午6:40I suspect that somehow your configuration is messed up and the MDB ended up using a WebLogic connection to access a TIBCO EMS destination.
Please make sure that your JMS server configuration maps a TIBCO connection factory jndi name to a jndi name in WebLogic server JNDI tree, a TIBCO destination jndi name to a jndi name in WebLogic server JNDI tree, and your MDB configuration refers to the jndi names in the WebLogic JNDI tree.
Regards. -
How to use Muticast testing utilities with WLS ??
Hello,
Does anyone here know how we can use the muticast testing utilities that are
avilable with WLS ??
I have run it, but I don't understand how to use it...
What will it show ??
WIll it show that there is a conflict in the muticast address ??
Will it show something else ??
Whenever I run it.... it just writes a bunch of messages ot the screen.
What does that mean ??
Is there any documentation available on this utlity ??
Please help.
-Anu
see below
If your multicast is properly setup each server reports that a new
neighbor is found and it's able to accept messages from the other server.
java utils.MulticastTest -N S1 -A 224.0.0.1
***** WARNING ***** WARNING ***** WARNING *****
Do NOT use the same multicast address as a running WLS cluster.
Starting test. Hit any key to abort
Using multicast address 224.0.0.1:7001
Will send messages under the name S1 every 2 seconds
Will print warning every 600 seconds if no messages are received
New Neighbor s2 found on message number 2
Duplicate message from s2: 2
Duplicate message from s2: 2
Duplicate message from s2: 2
Duplicate message from s2: 2
Duplicate message from S1: 1
Duplicate message from S1: 1
Duplicate message from S1: 1
Duplicate message from S1: 1
I (S1) sent message num 1
Received message 3 from s2
Duplicate message from s2: 3
Duplicate message from s2: 3
Duplicate message from s2: 3
Duplicate message from s2: 3
Received message 2 from S1
java utils.MulticastTest -N S2 -A 224.0.0.1
***** WARNING ***** WARNING ***** WARNING *****
Do NOT use the same multicast address as a running WLS cluster.
Starting test. Hit any key to abort
Using multicast address 224.0.0.1:7001
Will send messages under the name s2 every 2 seconds
Will print warning every 600 seconds if no messages are received
Duplicate message from s2: 1
Duplicate message from s2: 1
Duplicate message from s2: 1
Duplicate message from s2: 1
I (s2) sent message num 1
Received message 2 from s2
Duplicate message from s2: 2
Duplicate message from s2: 2
Duplicate message from s2: 2
Duplicate message from s2: 2
I (s2) sent message num 2
New Neighbor S1 found on message number 1
Duplicate message from S1: 1
Duplicate message from S1: 1
Duplicate message from S1: 1
Duplicate message from S1: 1
Received message 3 from s2
Duplicate message from s2: 3
Duplicate message from s2: 3
Duplicate message from s2: 3
Duplicate message from s2: 3
I (s2) sent message num 3
Received message 2 from S1
Duplicate message from S1: 2
Duplicate message from S1: 2
Duplicate message from S1: 2
Duplicate message from S1: 2
Received message 4 from s2
Duplicate message from s2: 4
Duplicate message from s2: 4
Duplicate message from s2: 4
Duplicate message from s2: 4
I (s2) sent message num 4
Anu Kulatunga wrote:
> Hello,
>
> Does anyone here know how we can use the muticast testing utilities that are
> avilable with WLS ??
>
> I have run it, but I don't understand how to use it...
>
> What will it show ??
>
> WIll it show that there is a conflict in the muticast address ??
>
> Will it show something else ??
>
> Whenever I run it.... it just writes a bunch of messages ot the screen.
>
> What does that mean ??
>
> Is there any documentation available on this utlity ??
>
> Please help.
> -Anu
>
>
>
>
>
Maybe you are looking for
-
Hi, I have JHS 9.0.5.1.9, Jdeveloper 9.0.5.1 and RDBMS - SQLServer 2000, MS SQLServer 2000 jdbc driver sp2 (SelectMethod=cursor). When I try update recorods - errors: JBO-26080: Error while selecting entity for ... . Cause - FOR UPDATE cannot be spec
-
Sync Issue with Handmark Pocket Express
I have a newly purchased Treo 755p for Sprint preloaded with Handmark Pocket Express. This seems to be a handy application; however, it is causing an annoying sync issue. At each sync session, Express goes through all of its subjects syncing betwee
-
Since upgrading to OSX Lion (currently using iPhoto 11 9.1.5), iPhoto is not retaining, or 'holding' edits once editing mode has been left. In other words, if I go to edit, and crop (or touch-up, or adjust) a photo, as soon as I am NOT in editing mo
-
Hi, I'm new to pages and really haven't done anything like this before. I created a 4 page brochure document. The printer is telling me that I have to upload two seperate files-- a back page, pgs 1 and 4 and a front page, pgs 2-3. Is there anyway to
-
Error: iTunes could not copy **** to MyiPod because the iPod disconnected
I am using Lion 10.7.3 with 10.6.1 and an iPod Touch 2nd generation with iOS 5.1. It all started because I noticed some of my songs were not properly tagged. So, I went into iTunes to fix them. Then, I plugged in the iPod and hit sync. But, it di