Hmm. Not sure why, but it looks like the modules are getting deployed individually and not as one ear.

Is it possible you could upload a small maven project that has all the right bits? Should only need the MDB, TestCase, and maven pom. You can attach it here:

  https://issues.apache.org/jira/browse/OPENEJB-862

I'll use it as a template and make any changes necessary in OpenEJB or the project to get it running.

-David


On Jul 20, 2008, at 4:53 PM, endium wrote:


Thanks for all of your quick responses. I tried doing what you said, and this
is the output:

19:48:37,785 DEBUG OpenEjbTest:31 - Set Initial Context
Apache OpenEJB 3.1-SNAPSHOT    build: 20080719-01:24
http://openejb.apache.org/
INFO - openejb.home =
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb
INFO - openejb.base =
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb
INFO - Configuring Service(id=Default Security Service,
type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager,
type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Configuring Service(id=thedb, type=Resource, provider- id=Default JDBC
Database)
INFO - Found PersistenceModule in classpath:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes
INFO - Found EjbModule in classpath:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes
INFO - Extracting jar:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes/quartz-ra.rar
INFO - Extracted path:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes/quartz-ra
INFO - Configuring enterprise application:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes/quartz-ra.rar
INFO - Enterprise application
"/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes/quartz-ra.rar"
loaded.
INFO - Configuring enterprise application:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes INFO - Auto-configuring a message driven bean TimerJob destination TimerJob
to be destinationType javax.jms.Queue
INFO - Configuring Service(id=Default Stateless Container, type=Container,
provider-id=Default Stateless Container)
INFO - Auto-creating a container for bean ItemDAOHibernate:
Container(type=STATELESS, id=Default Stateless Container)
INFO - Configuring Service(id=Default MDB Container, type=Container,
provider-id=Default MDB Container)
INFO - Auto-creating a container for bean TimerJob: Container(type=MESSAGE,
id=Default MDB Container)
INFO - Configuring Service(id=Default JMS Resource Adapter, type=Resource,
provider-id=Default JMS Resource Adapter)
INFO - Configuring Service(id=TimerJob, type=Resource, provider- id=Default
Queue)
INFO - Auto-creating a Resource with id 'TimerJob' of type 'javax.jms.Queue
for 'TimerJob'.
INFO - Configuring PersistenceUnit(name=daoexample,
provider=org.hibernate.ejb.HibernatePersistence)
INFO - Auto-creating a Resource with id 'thedbNonJta' of type 'DataSource
for 'daoexample'.
INFO - Configuring Service(id=thedbNonJta, type=Resource, provider- id=thedb)
INFO - Adjusting daoexample <non-jta-data-source> to 'thedbNonJta'
INFO - Enterprise application
"/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes"
loaded.
INFO - Assembling app:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/test-classes/quartz-ra.rar
INFO - start quartz!!!
INFO - Deployed
Application(path=/Users/Hoshi/Documents/Programming/Hibernate/ DaoProjectOpenEjb/target/test-classes/quartz-ra.rar)
INFO - Assembling app:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes
INFO - PersistenceUnit(name=daoexample,
provider=org.hibernate.ejb.HibernatePersistence)
INFO - Hibernate EntityManager 3.2.1.GA
INFO - Hibernate Annotations 3.2.1.GA
INFO - Hibernate 3.2.6
INFO - hibernate.properties not found
INFO - Bytecode provider name : cglib
INFO - using JDK 1.4 java.sql.Timestamp handling
INFO - Reading mappings from resource : META-INF/orm.xml
INFO - Binding entity from annotated class: com.example.entity.Item
INFO - Bind entity com.example.entity.Item on table Item
INFO - Initializing connection provider:
org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
INFO - Using provided datasource
INFO - RDBMS: HSQL Database Engine, version: 1.8.0
INFO - JDBC driver: HSQL Database Engine Driver, version: 1.8.0
INFO - Using dialect: org.hibernate.dialect.HSQLDialect
INFO - Transaction strategy:
org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
INFO - instantiating TransactionManagerLookup:
org.apache.openejb.hibernate.TransactionManagerLookup
INFO - instantiated TransactionManagerLookup
INFO - Automatic flush during beforeCompletion(): disabled
INFO - Automatic session close at end of transaction: disabled
INFO - JDBC batch size: 15
INFO - JDBC batch updates for versioned data: disabled
INFO - Scrollable result sets: enabled
INFO - JDBC3 getGeneratedKeys(): disabled
INFO - Connection release mode: auto
INFO - Default batch fetch size: 1
INFO - Generate SQL with comments: disabled
INFO - Order SQL updates by primary key: disabled
INFO - Order SQL inserts for batching: disabled
INFO - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO - Using ASTQueryTranslatorFactory
INFO - Query language substitutions: {}
INFO - JPA-QL strict compliance: enabled
INFO - Second-level cache: enabled
INFO - Query cache: disabled
INFO - Cache provider: org.hibernate.cache.NoCacheProvider
INFO - Optimize cache for minimal puts: disabled
INFO - Structured second-level cache entries: disabled
INFO - Statistics: disabled
INFO - Deleted entity synthetic identifier rollback: disabled
INFO - Default entity-mode: pojo
INFO - Named query checking : enabled
INFO - building session factory
INFO - Not binding factory to JNDI, no JNDI name configured
INFO - Running hbm2ddl schema export
INFO - exporting generated schema to database
INFO - schema export complete
INFO - Jndi(name=ItemDAOHibernateLocal) -->
Ejb(deployment-id=ItemDAOHibernate)
INFO - Jndi(name=ItemServiceLocal) --> Ejb(deployment-id=ItemService)
INFO - Undeploying app:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes
INFO - closing
ERROR - Application could not be deployed:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes
org.apache.openejb.OpenEJBException: Creating application failed:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/ target/classes:
Error deploying 'TimerJob'.  Exception: class
org.apache.openejb.OpenEJBException: Deployment 'TimerJob' has message
listener interface org.quartz.Job but this MDB container only supports
interface javax.jms.MessageListener: Deployment 'TimerJob' has message
listener interface org.quartz.Job but this MDB container only supports
interface javax.jms.MessageListener
        at
org .apache .openejb .assembler.classic.Assembler.createApplication(Assembler.java:601)
        at
org .apache .openejb .assembler.classic.Assembler.buildContainerSystem(Assembler.java:342) at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java: 259)
        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
        at org.apache.openejb.OpenEJB.init(OpenEJB.java:291)
        at org.apache.openejb.OpenEJB.init(OpenEJB.java:270)
        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 org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java: 36)
        at
org .apache .openejb .client .LocalInitialContextFactory.init(LocalInitialContextFactory.java:63)
        at
org .apache .openejb .client .LocalInitialContextFactory.init(LocalInitialContextFactory.java:51)
        at
org .apache .openejb .client .LocalInitialContextFactory .getInitialContext(LocalInitialContextFactory.java:40) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java: 667) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
        at javax.naming.InitialContext.init(InitialContext.java:223)
        at javax.naming.InitialContext.<init>(InitialContext.java:197)
at com.example.openejb.OpenEjbTest.setInitialContext(OpenEjbTest.java:64)
        at
com .example .dao .hibernate .ItemDAOHibernateTest.setUpBeforeClass(ItemDAOHibernateTest.java:22)
        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 org.junit.internal.runners.ClassRoadie.runBefores(ClassRoadie.java:49) at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java: 36)
        at
org .junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java: 42)
        at
org .eclipse .jdt .internal .junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
        at
org .eclipse .jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org .eclipse .jdt .internal .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at
org .eclipse .jdt .internal .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at
org .eclipse .jdt .internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at
org .eclipse .jdt .internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 196) Caused by: org.apache.openejb.OpenEJBException: Error deploying 'TimerJob'. Exception: class org.apache.openejb.OpenEJBException: Deployment 'TimerJob' has message listener interface org.quartz.Job but this MDB container only supports interface javax.jms.MessageListener: Deployment 'TimerJob' has
message listener interface org.quartz.Job but this MDB container only
supports interface javax.jms.MessageListener
        at
org .apache .openejb.assembler.classic.EjbJarBuilder.deploy(EjbJarBuilder.java:75)
        at
org .apache .openejb .assembler.classic.Assembler.createApplication(Assembler.java:548)
        ... 32 more
Caused by: org.apache.openejb.OpenEJBException: Deployment 'TimerJob' has
message listener interface org.quartz.Job but this MDB container only
supports interface javax.jms.MessageListener
at org.apache.openejb.core.mdb.MdbContainer.deploy(MdbContainer.java:119)
        at
org .apache .openejb.assembler.classic.EjbJarBuilder.deploy(EjbJarBuilder.java:73)
        ... 33 more


David Blevins wrote:

Ok. On second thought, try removing these two parameters:

                properties.setProperty("Default MDB
Container.MessageListenerInterface",
"org.quartz.Job");
properties.setProperty("Default MDB Container.ActivationSpecClass", "org .jboss.resource.adapter.quartz.inflow.QuartzActivationSpec");

We should be auto-creating an MDB container and ResourceAdapter
specifically for the in-bound connector.  What happened here is that
the properties for the Default MDB Container where changed for Quartz
(listener interface and activationspec) but it's still pointing to the
ActiveMQ ResourceAdapter.  If you delete these two lines then we'll
safely determine that there is no MDB container configured to handle
the MessageListenerInterface of your MDB and one will be created using
your Quartz ResourceAdapter.

-David

On Jul 20, 2008, at 1:55 PM, endium wrote:


ERROR - Application could not be deployed:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/
target/classes
org.apache.openejb.OpenEJBException: Creating application failed:
/Users/Hoshi/Documents/Programming/Hibernate/DaoProjectOpenEjb/
target/classes:
Error deploying 'TimerJob'.  Exception: class
org.apache.openejb.OpenEJBException:
javax.resource.NotSupportedException:
That type of ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec: That
type of
ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec:
javax.resource.NotSupportedException: That type of ActicationSpec not
supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec: That
type of
ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec
        at
org
.apache
.openejb
.assembler.classic.Assembler.createApplication(Assembler.java:601)
        at
org
.apache
.openejb
.assembler.classic.Assembler.buildContainerSystem(Assembler.java: 342)
        at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:
259)
        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
        at org.apache.openejb.OpenEJB.init(OpenEJB.java:291)
        at org.apache.openejb.OpenEJB.init(OpenEJB.java:270)
        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
org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:
36)
        at
org
.apache
.openejb
.client
.LocalInitialContextFactory.init(LocalInitialContextFactory.java:63)
        at
org
.apache
.openejb
.client
.LocalInitialContextFactory.init(LocalInitialContextFactory.java:51)
        at
org
.apache
.openejb
.client
.LocalInitialContextFactory
.getInitialContext(LocalInitialContextFactory.java:40)
        at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:
667)
        at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java: 247)
        at javax.naming.InitialContext.init(InitialContext.java:223)
        at javax.naming.InitialContext.<init>(InitialContext.java:197)
        at
com.example.openejb.OpenEjbTest.setInitialContext(OpenEjbTest.java: 63)
        at
com
.example
.service.ItemServiceTest.setUpBeforeClass(ItemServiceTest.java:25)
        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
org.junit.internal.runners.ClassRoadie.runBefores(ClassRoadie.java: 49)
        at
org .junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:
36)
        at
org
.junit .internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:
42)
        at
org
.eclipse
.jdt
.internal
.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
        at
org
.eclipse
.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org
.eclipse
.jdt
.internal
.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at
org
.eclipse
.jdt
.internal
.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at
org
.eclipse
.jdt
.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java: 386)
        at
org
.eclipse
.jdt
.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196)
Caused by: org.apache.openejb.OpenEJBException: Error deploying
'TimerJob'.
Exception: class org.apache.openejb.OpenEJBException:
javax.resource.NotSupportedException: That type of ActicationSpec not
supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec: That
type of
ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec:
javax.resource.NotSupportedException: That type of ActicationSpec not
supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec: That
type of
ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec
        at
org
.apache
.openejb.assembler.classic.EjbJarBuilder.deploy(EjbJarBuilder.java: 75)
        at
org
.apache
.openejb
.assembler.classic.Assembler.createApplication(Assembler.java:548)
        ... 32 more
Caused by: org.apache.openejb.OpenEJBException:
javax.resource.NotSupportedException: That type of ActicationSpec not
supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec: That
type of
ActicationSpec not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec
        at
org.apache.openejb.core.mdb.MdbContainer.deploy(MdbContainer.java: 146)
        at
org
.apache
.openejb.assembler.classic.EjbJarBuilder.deploy(EjbJarBuilder.java: 73)
        ... 33 more
Caused by: javax.resource.NotSupportedException: That type of
ActicationSpec
not supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec
        at
org
.apache
.activemq
.ra
.ActiveMQResourceAdapter
.endpointActivation(ActiveMQResourceAdapter.java:217)
        at
org.apache.openejb.core.mdb.MdbContainer.deploy(MdbContainer.java: 139)
        ... 34 more

David Blevins wrote:


On Jul 20, 2008, at 10:05 AM, endium wrote:


I'm using maven. Do I need the openejb-core or openejb-standalone?

Should be just openejb-core.  The openejb-standalone pom has a
handful
of client/server related dependencies which you don't need for unit
testing.

Using
openejb-core, it seems to be configuring and loading the rar, but
later it's
giving a ClassNotFoundException for the quartz activation spec:

java.lang.ClassNotFoundException:
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec

I'm setting my properties like this:
                properties.setProperty("Default MDB
Container.MessageListenerInterface",
"org.quartz.Job");
                properties.setProperty("Default MDB
Container.ActivationSpecClass",
                                "org
.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec");

That looks right.

I tried manually adding the activation spec class to the build path
and I
got this:
javax.resource.NotSupportedException: That type of ActicationSpec
not
supported: class
org.jboss.resource.adapter.quartz.inflow.QuartzActivationSpec

Can't seem to find any code that throws that exception. Can you post
the stack trace?

-David





David Blevins wrote:


On Jul 18, 2008, at 5:09 PM, endium wrote:


Thanks for your response. Right now I am using openejb embedded
for
unit
testing. Is there a way to configure the inbound resource adapter
without
deploying an ear?

In that case, give our latest snapshots a try. We added support to
basically say "treat my classpath as an ear", in which case you'd
still get the same effect I described.

If you're using maven, just update your openejb version to 3.1-
SNAPSHOT.  If you're using a server distro, this should work:

http://people.apache.org/repo/m2-snapshot-repository/org/apache/openejb/openejb-standalone/3.1-SNAPSHOT/openejb-standalone-3.1-20080719.020443-5.zip

-David

David Blevins wrote:


On Jul 18, 2008, at 7:50 AM, endium wrote:


I am using JBoss' Quartz integration on one of my projects:
http://wiki.jboss.org/wiki/QuartzSchedulerIntegration

This works fine in a JBoss environment, however I haven't been
able to
figure out how to configure openejb to replicate this
behavior. Is
it
possible to use openejb to use inbound resource adapters?

We definitely do support inbound resource adapters.  If you
package
that rar file and your ejb jar file into an ear and deploy it,
everything should get auto configured and created for you and
your
MDBs hooked up to the resource adapter.

-David




--
View this message in context:
http://www.nabble.com/need-help-getting-quartz-ra.rar-file-to-deploy-tp18531000p18539712.html
Sent from the OpenEJB User mailing list archive at Nabble.com.






--
View this message in context:
http://www.nabble.com/need-help-getting-quartz-ra.rar-file-to-deploy-tp18531000p18556369.html
Sent from the OpenEJB User mailing list archive at Nabble.com.






--
View this message in context:
http://www.nabble.com/need-help-getting-quartz-ra.rar-file-to-deploy-tp18531000p18558694.html
Sent from the OpenEJB User mailing list archive at Nabble.com.






--
View this message in context: 
http://www.nabble.com/need-help-getting-quartz-ra.rar-file-to-deploy-tp18531000p18560125.html
Sent from the OpenEJB User mailing list archive at Nabble.com.



Reply via email to