users@glassfish.java.net

Establishing two Connections in One Application - One javax.jms.Connection, the other java.sql.Connection

From: rdblaha1 <rd_blaha_at_hotmail.com>
Date: Thu, 28 Feb 2008 14:36:13 -0800 (PST)

I am trying to write an application (eventually an EJB) that consumes a
message from a JMS Message queue and then write the parse message
information into a table in my database using a connection pool thread.

I have the following question areas.

1) I set up the import javax.jms.Connection and then import
java.sql.Connection. Netbeans gives the following error message next to the
java.sql.Connection: 'javax.jms.Connection is already defined in a
single-type import.' How can I import both for use? or what other means is
available?

2) My attempt at bypassing the first situation is by doing the following:

        javax.jms.Connection connection = null;
        Session session = null;
        Destination dest1 = null;
        Destination dest2 = null;
        MessageConsumer consumer = null;
        MessageProducer producer = null;
        TextMessage messageConsumer = null;
        TextMessage messageProducer = null;

        java.sql.Connection sqlConn = null;
                
        sqlConn = jdbcIfxDevel.getConnection(); // for default uid/pwd
<--- Failure point for the following stacktrace.

However, after I deploy my application on the app server (via the Admin
Console), I then try to run it using the appclient utility I get the
following:

# /opt/SUNWappserver/bin/appclient -client
dist/MyConsumerReaderDatabaseWriter.jar queue
Feb 28, 2008 5:22:10 PM com.sun.gjc.common.DataSourceObjectBuilder
getDataSourceObject
SEVERE: RAR5099 : Wrong class name or classpath for Datasource Object
java.lang.ClassNotFoundException: com.informix.jdbcx.IfxDataSource
        at
com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:737)
        at
com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:627)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:242)
        at
com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:109)
        at
com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:972)
        at
com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:141)
        at
com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:95)
        at
com.sun.enterprise.resource.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:68)
        at
com.sun.enterprise.resource.AbstractResourcePool.createSingleResource(AbstractResourcePool.java:891)
        at
com.sun.enterprise.resource.AbstractResourcePool.createResourceAndAddToPool(AbstractResourcePool.java:1750)
        at
com.sun.enterprise.resource.AbstractResourcePool.createResources(AbstractResourcePool.java:917)
        at
com.sun.enterprise.resource.AbstractResourcePool.initPool(AbstractResourcePool.java:225)
        at
com.sun.enterprise.resource.AbstractResourcePool.internalGetResource(AbstractResourcePool.java:516)
        at
com.sun.enterprise.resource.AbstractResourcePool.getResource(AbstractResourcePool.java:443)
        at
com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:248)
        at
com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:176)
        at
com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:327)
        at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:235)
        at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:165)
        at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:158)
        at
com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:108)
        at
com.davisco.mtr.server.MyConsumerReaderDatabaseWriter.main(MyConsumerReaderDatabaseWriter.java:103)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:417)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
        at com.sun.enterprise.appclient.Main.main(Main.java:200)
Feb 28, 2008 5:22:11 PM
com.sun.enterprise.resource.LocalTxConnectorAllocator createResource
WARNING: RAR5038:Unexpected exception while creating resource
Feb 28, 2008 5:22:11 PM com.sun.enterprise.connectors.ConnectionManagerImpl
internalGetConnection
WARNING: RAR5117 : Failed to obtain/create connection from connection pool [
ifxDevel ]. Reason : Class name is wrong or classpath is not set for :
com.informix.jdbcx.IfxDataSource
Feb 28, 2008 5:22:11 PM com.sun.gjc.spi.base.DataSource getConnection
WARNING: RAR5114 : Error allocating connection : [Error in allocating a
connection. Cause: Class name is wrong or classpath is not set for :
com.informix.jdbcx.IfxDataSource]
Feb 28, 2008 5:22:11 PM com.sun.enterprise.appclient.MainWithModuleSupport
<init>
WARNING: ACC003: Application threw an exception.
java.sql.SQLException: Error in allocating a connection. Cause: Class name
is wrong or classpath is not set for : com.informix.jdbcx.IfxDataSource
        at
com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:115)
        at
com.davisco.mtr.server.MyConsumerReaderDatabaseWriter.main(MyConsumerReaderDatabaseWriter.java:103)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:417)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
        at com.sun.enterprise.appclient.Main.main(Main.java:200)
Exception in thread "main" java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:428)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
        at com.sun.enterprise.appclient.Main.main(Main.java:200)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
        at
com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:417)
        ... 2 more
Caused by: java.sql.SQLException: Error in allocating a connection. Cause:
Class name is wrong or classpath is not set for :
com.informix.jdbcx.IfxDataSource
        at
com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:115)
        at
com.davisco.mtr.server.MyConsumerReaderDatabaseWriter.main(MyConsumerReaderDatabaseWriter.java:103)
        ... 8 more
#

I have run my program 'successfully' (as far as it can go without actually
writing to the database). I need to make contact with the database. My
obvious question at this point is, what should I be doing differently?

Thank you,
rdb

-- 
View this message in context: http://www.nabble.com/Establishing-two-Connections-in-One-Application---One-javax.jms.Connection%2C-the-other--java.sql.Connection-tp15747720p15747720.html
Sent from the java.net - glassfish users mailing list archive at Nabble.com.