-
1. Re: JBoss Embedded and JUnit testing
tbar0711 Sep 16, 2009 10:47 AM (in response to tbar0711)OK, now I've got it. I took the Embedded JBoss Beta3 and created a simple Session Bean with an interface, a simple Entity Bean and a testclass to test the functionality of that session bean. The test is successful an everything is ok.
My persistence.xml (your entity beans have to be referenced via the class tags):<?xml version="1.0" encoding="UTF-8"?> <persistence> <persistence-unit name="testdb"> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="jboss.entity.manager.jndi.name" value="java:/EntityManagers/testdb"/> </properties> <class>main.example.entity.EntityBeanName</class> </persistence-unit> </persistence>
You have to add the complete bootstrap directory as source folder to your classpath. Also you can add the META-INF directory with the persistence.xml inside as source folder to your classpath.
Here is an example of a test class:public class MyTestCase extends BaseTestCase { public MyTestCase() { super("MyTestCase"); } private static AssembledDirectory jar; public static void deploy() { jar = AssembledContextFactory.getInstance().create("ejb3TestCase.jar"); jar.addClass(EntityBeanName.class); jar.addClass(SessionBeanInterfaceName.class); jar.addClass(SessionBeanName.class); jar.mkdir("META-INF").addResource("persistence.xml", "persistence.xml"); try { Bootstrap.getInstance().deploy(jar); } catch (DeploymentException e) { throw new RuntimeException("Unable to deploy", e); } } public static void undeploy() { try { Bootstrap.getInstance().undeploy(jar); AssembledContextFactory.getInstance().remove(jar); jar = null; } catch (DeploymentException e) { throw new RuntimeException("Unable to undeploy", e); } } public static Test suite() { return preProcessedTest(MyTestCase.class); } public void test() throws Exception { InitialContext ctx = new InitialContext(); SessionBeanInterface local = (SessionBeanInterface) ctx .lookup("SessionBean/local"); EntityBean eb = new EntityBean(); eb.setSomething1("1"); eb.setSomething2("XXX"); local.createEntity(eb); List<EntityBean> ebs = local.test(); assertEquals(1, ebs.size()); } }
But now I'm going to use this for unit testing my real application which runs on a JBoss 4.2.3.
So my persistence.xml has to be changed into:<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="myDB" transaction-type="JTA"> <jta-data-source>java:/jdbc/myDS</jta-data-source> <properties> <property name="hibernate.archive.autodetection" value="class" /> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect" /> <property name="hibernate.session_factory_name" value="java:hibernate/SessionFactory" /> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" /> </properties> <class>de.myapp.persistence.EntityBeanName1</class> <class>de.myapp.persistence.EntityBeanName2</class> <class>de.myapp.persistence.EntityBeanName3</class> </persistence-unit> </persistence>
This is the same persistence.xml I use in my real application except of the class - tags.
I put the myapp-ds.xml into the deploy directory of the Embedded JBoss.
myapp-ds.xml:<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>jdbc/myDS</jndi-name> <connection-url>jdbc:oracle:thin:@entwdb:3333:entw</connection-url> <driver-class>oracle.jdbc.OracleDriver</driver-class> <user-name>user</user-name> <password>password</password> <max-pool-size>80</max-pool-size> <prepared-statement-cache-size>100</prepared-statement-cache-size> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <SetBigStringTryClob>true</SetBigStringTryClob> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource> </datasources>
Now I start the test but the test ends with a runtime exception: Failed to bootstrap. My log looks like this:WARN [org.jboss.mx.loading.UnifiedLoaderRepository3] Tried to add non-URLClassLoader. Ignored WARN [org.jboss.aop.deployment.AspectManagerService] Could not find base-aspects.xml file in the resources of sun.misc.Launcher$AppClassLoader@12498b5 INFO [org.jboss.aop.deployers.AspectDeployer] Deploying xml into org.jboss.aop.AspectManager@1c1f2 for sun.misc.Launcher$AppClassLoader@12498b5 INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jboss-local-jdbc.rar/META-INF/ra.xml INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/myDS' to JNDI name 'java:jdbc/myDS' INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jms-ra.rar/META-INF/ra.xml INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS' WARN [org.jboss.jms.server.security.SecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this. INFO [org.jboss.jms.server.ServerPeer] JBoss Messaging 1.4.0.SP1 server [0] started WARN [org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support failover WARN [org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support load balancing INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc12:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@11be57f started INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc12:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@4f7537 started INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc12:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@fef26a started INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000 INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000 INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
Does anybody know what goes wrong? -
2. Re: JBoss Embedded and JUnit testing
tbar0711 Sep 17, 2009 5:32 AM (in response to tbar0711)Ok, I fixed it. I had to remove the metadata-tags in my *ds.xml file.
Now later another Error occured:INFO [org.hibernate.transaction.TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory INFO [org.hibernate.transaction.TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup INFO [org.hibernate.transaction.TransactionManagerLookupFactory] instantiated TransactionManagerLookup INFO [org.hibernate.cfg.SettingsFactory] Automatic flush during beforeCompletion(): disabled INFO [org.hibernate.cfg.SettingsFactory] Automatic session close at end of transaction: disabled INFO [org.hibernate.cfg.SettingsFactory] JDBC batch size: 15 INFO [org.hibernate.cfg.SettingsFactory] JDBC batch updates for versioned data: disabled INFO [org.hibernate.cfg.SettingsFactory] Scrollable result sets: enabled INFO [org.hibernate.cfg.SettingsFactory] JDBC3 getGeneratedKeys(): disabled INFO [org.hibernate.cfg.SettingsFactory] Connection release mode: auto INFO [org.hibernate.cfg.SettingsFactory] Default batch fetch size: 1 INFO [org.hibernate.cfg.SettingsFactory] Generate SQL with comments: disabled INFO [org.hibernate.cfg.SettingsFactory] Order SQL updates by primary key: disabled INFO [org.hibernate.cfg.SettingsFactory] Order SQL inserts for batching: disabled INFO [org.hibernate.cfg.SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory INFO [org.hibernate.hql.ast.ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory INFO [org.hibernate.cfg.SettingsFactory] Query language substitutions: {} INFO [org.hibernate.cfg.SettingsFactory] JPA-QL strict compliance: enabled INFO [org.hibernate.cfg.SettingsFactory] Second-level cache: enabled INFO [org.hibernate.cfg.SettingsFactory] Query cache: disabled INFO [org.hibernate.cfg.SettingsFactory] Cache provider: org.hibernate.cache.HashtableCacheProvider INFO [org.hibernate.cfg.SettingsFactory] Optimize cache for minimal puts: disabled INFO [org.hibernate.cfg.SettingsFactory] Cache region prefix: myDB INFO [org.hibernate.cfg.SettingsFactory] Structured second-level cache entries: disabled INFO [org.hibernate.cfg.SettingsFactory] Statistics: disabled INFO [org.hibernate.cfg.SettingsFactory] Deleted entity synthetic identifier rollback: disabled INFO [org.hibernate.cfg.SettingsFactory] Default entity-mode: pojo INFO [org.hibernate.cfg.SettingsFactory] Named query checking : enabled ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=persistence.units:unitName=myDB state=Create java.lang.NoSuchMethodError: org.hibernate.cfg.ExtendedMappings.getReflectionManager()Lorg/hibernate/reflection/ReflectionManager; at org.hibernate.search.event.FullTextIndexEventListener.initialize(FullTextIndexEventListener.java:82) at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:356) at org.hibernate.cfg.Configuration.getInitializedEventListeners(Configuration.java:1304) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:918) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:656) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127) at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:259) 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.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:56) at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:110) at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:214) at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:45) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:108) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:69) at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:135) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:46) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:574) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:398) at org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:96) at org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:90) at org.jboss.ejb3.MCKernelAbstraction.install(MCKernelAbstraction.java:151) at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:604) at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:400) at org.jboss.ejb3.deployers.EJBStage2Deployer.deploy(EJBStage2Deployer.java:53) at org.jboss.ejb3.deployers.EJBStage2Deployer.deploy(EJBStage2Deployer.java:37) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506) at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:127) at org.jboss.embedded.Bootstrap.deploy(Bootstrap.java:327) at de.persistence.dao.SomethingDaoImplTest.deploy(SomethingDaoImplTest.java:47) 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.jboss.embedded.junit.BaseTestCase$1.setUp(BaseTestCase.java:130) at junit.extensions.TestSetup$1.protect(TestSetup.java:20) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) 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)
Does anybody know what's the problem here? -
3. Re: JBoss Embedded and JUnit testing
tbar0711 Sep 21, 2009 5:05 AM (in response to tbar0711)Now I took only the JUnit Test relevant classes of my complete application project and put them into a separate project.
I ran the test and now I get the following error. Perhaps somebody knows where's the fly in the ointment?INFO [org.hibernate.util.NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces} INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: jboss.j2ee:jar=ejbTestCase.jar,name=SomethingDaoImpl,service=EJB3 with dependencies: INFO [org.jboss.ejb3.MCKernelAbstraction] and supplies: INFO [org.jboss.ejb3.MCKernelAbstraction] Class:daos.SomethingDAO INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: sessions.SomethingDaoImpl ejbName: SomethingDaoImpl WARN [org.jboss.ejb3.timerservice.jboss.JBossTimerServiceFactory] TIMER SERVICE IS NOT INSTALLED INFO [junit.SomethingDaoImplTest] ***** SomethingDaoImplTest: testLoad() ***** INFO [junit.SomethingDaoImplTest] ***** SomethingDaoImplTest: testLoadSomethingTexte() *****
My JUnit Test was been terminated with the following exception:java.lang.RuntimeException: java.lang.InstantiationException
Thanks in advance. -
4. Re: JBoss Embedded and JUnit testing
tbar0711 Sep 21, 2009 7:36 AM (in response to tbar0711)Ok, now I know the cause of this exception:
My Session Bean was declared as an abstract class. I removed the abstract declaration and everything's fine. -
5. Re: JBoss Embedded and JUnit testing
tbar0711 Sep 21, 2009 9:36 AM (in response to tbar0711)Hi there,
I shout and jump for joy. Finally I've got a successful green JUnit Test.
Now one more question that I possibly can't answer myself:
My JUnit Test is successful but at the beginning of the running test I always get a warn message from InputStreamZippedJarVisitor which tells me that it's unable to find file. I hope this time has anyone an idea how I get rid of this warning or what causes this warning?WARN [org.jboss.mx.loading.UnifiedLoaderRepository3] Tried to add non-URLClassLoader. Ignored WARN [org.jboss.aop.deployment.AspectManagerService] Could not find base-aspects.xml file in the resources of sun.misc.Launcher$AppClassLoader@12498b5 INFO [org.jboss.aop.deployers.AspectDeployer] Deploying xml into org.jboss.aop.AspectManager@383244 for sun.misc.Launcher$AppClassLoader@12498b5 INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jms-ra.rar/META-INF/ra.xml INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml INFO [org.jboss.resource.deployers.RARDeployment] Required license terms exist, view vfsfile:/home/target/classes/deploy/jboss-local-jdbc.rar/META-INF/ra.xml INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/myDS' to JNDI name 'java:jdbc/myDS' INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS' WARN [org.jboss.jms.server.security.SecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this. INFO [org.jboss.jms.server.ServerPeer] JBoss Messaging 1.4.0.SP1 server [0] started INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000 INFO [org.jboss.jms.server.destination.QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000 WARN [org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support failover WARN [org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support load balancing INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc44:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@184cf08 started INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc44:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@214f6b started INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector bisocket://pc44:3434 has leasing enabled, lease period 10000 milliseconds INFO [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@f00e0f started INFO [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA' INFO [org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer] Found persistence units [org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitMetaData@1a6ac39{name=myDB}] INFO [org.jboss.ejb3.MCKernelAbstraction] installing bean: persistence.units:jar=ejbTestCase.jar,unitName=myDB with dependencies: INFO [org.jboss.ejb3.MCKernelAbstraction] and supplies: INFO [org.jboss.ejb3.entity.PersistenceUnitDeployment] Starting persistence unit persistence.units:jar=ejbTestCase.jar,unitName=myDB INFO [org.hibernate.cfg.annotations.Version] Hibernate Annotations 3.4.0.GA INFO [org.hibernate.cfg.Environment] Hibernate 3.3.1.GA INFO [org.hibernate.cfg.Environment] hibernate.properties not found INFO [org.hibernate.cfg.Environment] Bytecode provider name : javassist INFO [org.hibernate.cfg.Environment] using JDK 1.4 java.sql.Timestamp handling INFO [org.hibernate.annotations.common.Version] Hibernate Commons Annotations 3.1.0.GA INFO [org.hibernate.ejb.Version] Hibernate EntityManager 3.4.0.GA INFO [org.hibernate.ejb.Ejb3Configuration] Processing PersistenceUnitInfo [ name: myDB ...] WARN [org.hibernate.ejb.packaging.InputStreamZippedJarVisitor] Unable to find file (ignored): vfs://12535380613490/ java.lang.RuntimeException: Cannot open stream at org.jboss.virtual.plugins.context.vfs.AssembledDirectoryHandler.openStream(AssembledDirectoryHandler.java:117) at org.jboss.virtual.VirtualFile.openStream(VirtualFile.java:216) at org.jboss.virtual.plugins.vfs.VirtualFileURLConnection.getInputStream(VirtualFileURLConnection.java:117) at java.net.URL.openStream(URL.java:1007) at org.hibernate.ejb.packaging.InputStreamZippedJarVisitor.doProcessElements(InputStreamZippedJarVisitor.java:37) at org.hibernate.ejb.packaging.AbstractJarVisitor.getMatchingEntries(AbstractJarVisitor.java:139) at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:287) at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:614) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:360) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131) at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:259) 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.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:56) at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:110) at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:214) at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:45) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:108) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:69) at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:135) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:46) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:574) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:398) at org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:96) at org.jboss.kernel.plugins.dependency.AbstractKernelController.install(AbstractKernelController.java:90) at org.jboss.ejb3.MCKernelAbstraction.install(MCKernelAbstraction.java:151) at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:604) at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:400) at org.jboss.ejb3.deployers.EJBStage2Deployer.deploy(EJBStage2Deployer.java:53) at org.jboss.ejb3.deployers.EJBStage2Deployer.deploy(EJBStage2Deployer.java:37) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506) at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:127) at org.jboss.embedded.Bootstrap.deploy(Bootstrap.java:327) at junit.SomethingDaoImplTest.deploy(SomethingDaoImplTest.java:75) at junit.SomethingDaoImplTest.access$0(SomethingDaoImplTest.java:52) at junit.SomethingDaoImplTest$1.setUp(SomethingDaoImplTest.java:102) at junit.extensions.TestSetup$1.protect(TestSetup.java:20) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) 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) WARN [org.hibernate.ejb.Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null. INFO [org.hibernate.cfg.AnnotationBinder] Binding entity from annotated class: entities.Entity1 INFO [org.hibernate.cfg.annotations.EntityBinder] Bind entity entities.Entity1 on table Entity1 INFO [org.hibernate.cfg.AnnotationBinder] Binding entity from annotated class: entities.Entity2 INFO [org.hibernate.cfg.annotations.EntityBinder] Bind entity entities.Entity2 on table Entity2 INFO [org.hibernate.validator.Version] Hibernate Validator 3.1.0.GA
Any help is highly appreciated. -
6. Re: JBoss Embedded and JUnit testing
tbar0711 Oct 7, 2009 9:51 AM (in response to tbar0711)Ok, it seems like nobody has an answer for my last question.
At the moment I'm trying to use Maven to get my Embedded JBoss jars except of using my own user library.
It isn't a easy thing to configure the pom correctly. So it would be great if someone has correct pom that includes all the Embedded jars and the bootstrap source folder.
Currently I only know how to get the jars within my pom:<properties> <version.jboss-embedded>beta3.SP10</version.jboss-embedded> </properties> <dependencies> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded-all</artifactId> <version>${version.jboss-embedded}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded</artifactId> </exclusion> <exclusion> <groupId>org.jboss.microcontainer</groupId> <artifactId>jboss-deployers-client-spi</artifactId> </exclusion> <exclusion> <groupId>org.jboss.microcontainer</groupId> <artifactId>jboss-deployers-core-spi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>jboss-embedded</artifactId> <version>${version.jboss-embedded}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>thirdparty-all</artifactId> <version>${version.jboss-embedded}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.embedded</groupId> <artifactId>hibernate-all</artifactId> <version>${version.jboss-embedded}</version> <scope>test</scope> </dependency>
Now I'm very interested how to inform Maven about my bootstrap source folder. Has anyone an idea? If so, please post your pom here.
Kindly regards
T.