HHH-11024 - Exception still thrown when dropping schema with a managed connection - extend test task dependencies to the matrix-tesing plugin test tasks

This commit is contained in:
Steve Ebersole 2016-08-08 14:40:31 -05:00
parent dddf01740e
commit 7038b3e983
8 changed files with 364 additions and 61 deletions

View File

@ -0,0 +1,66 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.test.wf.ddl.bmt.emf;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.inject.Inject;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.transaction.UserTransaction;
/**
* Arquillian "component" for testing auto-ddl execution when initiated by the "app"
*
* @author Steve Ebersole
*/
@Stateful
@TransactionManagement(TransactionManagementType.BEAN)
public class BmtEmfStatefulBean {
EntityManagerFactory emf;
@Inject
UserTransaction utx;
public void start() {
// creating the SF should run schema creation
emf = Persistence.createEntityManagerFactory( "pu-wf-ddl" );
}
@Remove
public void stop() {
try {
utx.begin();
}
catch (Exception e) {
throw new RuntimeException( "Unable to start JTA transaction via UserTransaction", e );
}
try {
// closing the SF should run the delayed schema drop delegate
emf.close();
}
catch (RuntimeException e) {
try {
utx.rollback();
}
catch (Exception e1) {
throw new RuntimeException( "Unable to rollback JTA transaction via UserTransaction", e );
}
}
try {
utx.commit();
}
catch (Exception e) {
throw new RuntimeException( "Unable to commit JTA transaction via UserTransaction", e );
}
}
}

View File

@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later * License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/ */
package org.hibernate.test.wf.ddl; package org.hibernate.test.wf.ddl.bmt.emf;
import java.net.URL; import java.net.URL;
import java.util.Collections; import java.util.Collections;
@ -23,6 +23,7 @@ import org.hibernate.jpa.boot.internal.ParsedPersistenceXmlDescriptor;
import org.hibernate.jpa.boot.internal.PersistenceXmlParser; import org.hibernate.jpa.boot.internal.PersistenceXmlParser;
import org.hibernate.jpa.boot.spi.Bootstrap; import org.hibernate.jpa.boot.spi.Bootstrap;
import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@ -42,27 +43,28 @@ import static org.junit.Assert.assertNotNull;
* @author Steve Ebersole * @author Steve Ebersole
*/ */
@RunWith( Arquillian.class ) @RunWith( Arquillian.class )
public class WildFlyDdlTest { public class DdlInWildFlyUsingBmtAndEmfTest {
public static final String PERSISTENCE_XML_RESOURCE_NAME = "pu-wf-ddl/persistence.xml"; public static final String PERSISTENCE_XML_RESOURCE_NAME = "pu-wf-ddl/persistence.xml";
public static final String PERSISTENCE_UNIT_NAME = "pu-wf-ddl"; public static final String PERSISTENCE_UNIT_NAME = "pu-wf-ddl";
@Deployment @Deployment
public static WebArchive buildDeployment() { public static WebArchive buildDeployment() {
WebArchive jar = ShrinkWrap.create( WebArchive.class ) WebArchive war = ShrinkWrap.create( WebArchive.class )
.setManifest( "org/hibernate/test/wf/ddl/manifest.mf" ) .setManifest( "org/hibernate/test/wf/ddl/manifest.mf" )
.addClass( WildFlyDdlEntity.class ) .addClass( WildFlyDdlEntity.class )
// .addAsManifestResource( EmptyAsset.INSTANCE, "beans.xml") // .addAsManifestResource( EmptyAsset.INSTANCE, "beans.xml")
.addAsResource( new StringAsset( persistenceXml().exportAsString() ), PERSISTENCE_XML_RESOURCE_NAME ) .addAsResource( new StringAsset( persistenceXml().exportAsString() ), PERSISTENCE_XML_RESOURCE_NAME )
.addAsResource( "org/hibernate/test/wf/ddl/log4j.properties", "log4j.properties" ); .addAsResource( "org/hibernate/test/wf/ddl/log4j.properties", "log4j.properties" );
System.out.println( jar.toString(true) ); System.out.println( war.toString(true) );
return jar; return war;
} }
private static PersistenceDescriptor persistenceXml() { private static PersistenceDescriptor persistenceXml() {
final PersistenceDescriptor pd = Descriptors.create( PersistenceDescriptor.class ) final PersistenceDescriptor pd = Descriptors.create( PersistenceDescriptor.class )
.version( "2.1" ) .version( "2.1" )
.createPersistenceUnit().name( PERSISTENCE_UNIT_NAME ).transactionType( PersistenceUnitTransactionType._JTA ) .createPersistenceUnit().name( PERSISTENCE_UNIT_NAME )
.transactionType( PersistenceUnitTransactionType._JTA )
.jtaDataSource( "java:jboss/datasources/ExampleDS" ) .jtaDataSource( "java:jboss/datasources/ExampleDS" )
.clazz( WildFlyDdlEntity.class.getName() ) .clazz( WildFlyDdlEntity.class.getName() )
.excludeUnlistedClasses( true ) .excludeUnlistedClasses( true )

View File

@ -0,0 +1,76 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.test.wf.ddl.bmt.sf;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.inject.Inject;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.transaction.UserTransaction;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
/**
* Arquillian "component" for testing auto-ddl execution when initiated by the "app"
*
* @author Steve Ebersole
*/
@Stateful
@TransactionManagement(TransactionManagementType.BEAN)
public class BmtSfStatefulBean {
private static SessionFactory sessionFactory;
@Inject
UserTransaction utx;
public void start() {
Configuration configuration = new Configuration();
configuration = configuration.configure( "hibernate.cfg.xml" );
configuration.addAnnotatedClass( WildFlyDdlEntity.class );
// creating the SF should run schema creation
sessionFactory = configuration.buildSessionFactory();
}
@Remove
public void stop() {
try {
utx.begin();
}
catch (Exception e) {
throw new RuntimeException( "Unable to start JTA transaction via UserTransaction", e );
}
try {
// closing the SF should run the delayed schema drop delegate
sessionFactory.close();
}
catch (RuntimeException e) {
try {
utx.rollback();
}
catch (Exception e1) {
throw new RuntimeException( "Unable to rollback JTA transaction via UserTransaction", e );
}
throw e;
}
try {
utx.commit();
}
catch (Exception e) {
throw new RuntimeException( "Unable to commit JTA transaction via UserTransaction", e );
}
}
}

View File

@ -1,35 +1,30 @@
/* /*
* Hibernate, Relational Persistence for Idiomatic Java * Hibernate, Relational Persistence for Idiomatic Java
* *
* License: GNU Lesser General Public License (LGPL), version 2.1 or later. * License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/ */
package org.hibernate.test.wf.ddl; package org.hibernate.test.wf.ddl.bmt.sf;
import javax.naming.InitialContext; import org.hibernate.testing.TestForIssue;
import javax.naming.NamingException; import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.hibernate.testing.TestForIssue; import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
/** /**
* @author Andrea Boriero * @author Andrea Boriero
*/ */
@RunWith(Arquillian.class) @RunWith(Arquillian.class)
@TestForIssue(jiraKey = "HHH-11024") @TestForIssue(jiraKey = "HHH-11024")
public class WildFlyHibernateDdlTest { public class DdlInWildFlyUsingBmtAndSfTest {
public static final String ARCHIVE_NAME = "WildFlyHibernateDdlTest"; public static final String ARCHIVE_NAME = BmtSfStatefulBean.class.getSimpleName();
public static final String hibernate_cfg = "<?xml version='1.0' encoding='utf-8'?>" public static final String hibernate_cfg = "<?xml version='1.0' encoding='utf-8'?>"
+ "<!DOCTYPE hibernate-configuration PUBLIC " + "\"//Hibernate/Hibernate Configuration DTD 3.0//EN\" " + "<!DOCTYPE hibernate-configuration PUBLIC " + "\"//Hibernate/Hibernate Configuration DTD 3.0//EN\" "
@ -38,50 +33,33 @@ public class WildFlyHibernateDdlTest {
+ "<property name=\"hibernate.show_sql\">true</property>" + "<property name=\"hibernate.show_sql\">true</property>"
+ "<property name=\"hibernate.hbm2ddl.auto\">create-drop</property>" + "<property name=\"hibernate.hbm2ddl.auto\">create-drop</property>"
+ "<property name=\"hibernate.connection.datasource\">java:jboss/datasources/ExampleDS</property>" + "<property name=\"hibernate.connection.datasource\">java:jboss/datasources/ExampleDS</property>"
+ "<property name=\"hibernate.transaction.jta.platform\">JBossAppServerJtaPlatform.class</property>" + "<property name=\"hibernate.transaction.jta.platform\">JBossAS</property>"
+ "<property name=\"hibernate.transaction.coordinator_class\">jta</property>"
+ "<property name=\"hibernate.id.new_generator_mappings\">true</property>" + "<property name=\"hibernate.id.new_generator_mappings\">true</property>"
+ "</session-factory></hibernate-configuration>"; + "</session-factory></hibernate-configuration>";
@ArquillianResource
private static InitialContext iniCtx;
@BeforeClass
public static void beforeClass() throws NamingException {
iniCtx = new InitialContext();
}
@Deployment @Deployment
public static WebArchive deploy() throws Exception { public static WebArchive deploy() throws Exception {
final WebArchive war = ShrinkWrap.create( WebArchive.class, ARCHIVE_NAME + ".war" ) final WebArchive war = ShrinkWrap.create( WebArchive.class, ARCHIVE_NAME + ".war" )
.setManifest( "org/hibernate/test/wf/ddl/manifest.mf" ) .setManifest( "org/hibernate/test/wf/ddl/manifest.mf" )
.addClasses( WildFlyDdlEntity.class ) .addClasses( WildFlyDdlEntity.class )
.addAsResource( new StringAsset( hibernate_cfg ), "hibernate.cfg.xml" ) .addAsResource( new StringAsset( hibernate_cfg ), "hibernate.cfg.xml" )
.addClasses( SFSBHibernateSessionFactory.class ) .addClasses( BmtSfStatefulBean.class )
.addClasses( WildFlyHibernateDdlTest.class ); .addClasses( DdlInWildFlyUsingBmtAndSfTest.class );
return war; return war;
} }
;
@Test @Test
public void testCreateThenDrop() throws Exception { public void testCreateThenDrop(BmtSfStatefulBean ejb) throws Exception {
final SFSBHibernateSessionFactory sfsb = lookup( assert ejb != null : "Method injected StatefulCMTBean reference was null";
"SFSBHibernateSessionFactory",
SFSBHibernateSessionFactory.class
);
try { try {
sfsb.setupConfig(); ejb.start();
} }
finally { finally {
sfsb.cleanup(); ejb.stop();
}
}
private static <T> T lookup(String beanName, Class<T> interfaceType) throws NamingException {
try {
return interfaceType.cast( iniCtx.lookup( "java:global/" + ARCHIVE_NAME + "/" + beanName + "!"
+ interfaceType.getName() ) );
}
catch (NamingException e) {
throw e;
} }
} }
} }

View File

@ -4,12 +4,14 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later * License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/ */
package org.hibernate.test.wf.ddl; package org.hibernate.test.wf.ddl.cmt.emf;
import javax.ejb.Remove; import javax.ejb.Remove;
import javax.ejb.Stateful; import javax.ejb.Stateful;
import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType; import javax.ejb.TransactionAttributeType;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.persistence.EntityManagerFactory; import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence; import javax.persistence.Persistence;
@ -19,17 +21,20 @@ import javax.persistence.Persistence;
* @author Steve Ebersole * @author Steve Ebersole
*/ */
@Stateful @Stateful
public class WildFlyDdlComponent { @TransactionManagement(TransactionManagementType.CONTAINER)
public class CmtEmfStatefulBean {
EntityManagerFactory emf; EntityManagerFactory emf;
// @TransactionAttribute(TransactionAttributeType.REQUIRED) @TransactionAttribute(TransactionAttributeType.NEVER)
public void start() { public void start() {
// creating the SF should run schema creation
emf = Persistence.createEntityManagerFactory( "pu-wf-ddl" ); emf = Persistence.createEntityManagerFactory( "pu-wf-ddl" );
} }
@Remove @Remove
// @TransactionAttribute(TransactionAttributeType.REQUIRED) @TransactionAttribute(TransactionAttributeType.REQUIRED)
public void stop() { public void stop() {
// closing the SF should run the delayed schema drop delegate
emf.close(); emf.close();
} }
} }

View File

@ -0,0 +1,108 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.test.wf.ddl.cmt.emf;
import java.net.URL;
import java.util.Collections;
import javax.naming.InitialContext;
import javax.persistence.EntityManagerFactory;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform;
import org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform;
import org.hibernate.jpa.boot.internal.ParsedPersistenceXmlDescriptor;
import org.hibernate.jpa.boot.internal.PersistenceXmlParser;
import org.hibernate.jpa.boot.spi.Bootstrap;
import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.descriptor.api.Descriptors;
import org.jboss.shrinkwrap.descriptor.api.persistence21.PersistenceDescriptor;
import org.jboss.shrinkwrap.descriptor.api.persistence21.PersistenceUnitTransactionType;
import static org.junit.Assert.assertNotNull;
/**
* @author Steve Ebersole
*/
@RunWith( Arquillian.class )
public class DdlInWildFlyUsingBmtAndEmfTest {
public static final String PERSISTENCE_XML_RESOURCE_NAME = "pu-wf-ddl/persistence.xml";
public static final String PERSISTENCE_UNIT_NAME = "pu-wf-ddl";
@Deployment
public static WebArchive buildDeployment() {
WebArchive war = ShrinkWrap.create( WebArchive.class )
.setManifest( "org/hibernate/test/wf/ddl/manifest.mf" )
.addClass( WildFlyDdlEntity.class )
// .addAsManifestResource( EmptyAsset.INSTANCE, "beans.xml")
.addAsResource( new StringAsset( persistenceXml().exportAsString() ), PERSISTENCE_XML_RESOURCE_NAME )
.addAsResource( "org/hibernate/test/wf/ddl/log4j.properties", "log4j.properties" );
System.out.println( war.toString(true) );
return war;
}
private static PersistenceDescriptor persistenceXml() {
final PersistenceDescriptor pd = Descriptors.create( PersistenceDescriptor.class )
.version( "2.1" )
.createPersistenceUnit().name( PERSISTENCE_UNIT_NAME )
.transactionType( PersistenceUnitTransactionType._JTA )
.jtaDataSource( "java:jboss/datasources/ExampleDS" )
.clazz( WildFlyDdlEntity.class.getName() )
.excludeUnlistedClasses( true )
.getOrCreateProperties().createProperty().name( "jboss.as.jpa.providerModule" ).value( "org.hibernate:5.2" ).up().up()
.getOrCreateProperties().createProperty().name( "hibernate.hbm2ddl.auto" ).value( "create-drop" ).up().up()
// this should not be needed, but...
.getOrCreateProperties().createProperty().name( AvailableSettings.JTA_PLATFORM ).value( JBossAppServerJtaPlatform.class.getName() ).up().up()
.up();
System.out.println( "persistence.xml: " );
pd.exportTo( System.out );
return pd;
}
@ArquillianResource
private InitialContext initialContext;
@Test
public void testCreateThenDrop() throws Exception {
URL persistenceXmlUrl = Thread.currentThread().getContextClassLoader().getResource( PERSISTENCE_XML_RESOURCE_NAME );
if ( persistenceXmlUrl == null ) {
persistenceXmlUrl = Thread.currentThread().getContextClassLoader().getResource( '/' + PERSISTENCE_XML_RESOURCE_NAME );
}
assertNotNull( persistenceXmlUrl );
ParsedPersistenceXmlDescriptor persistenceUnit = PersistenceXmlParser.locateIndividualPersistenceUnit( persistenceXmlUrl );
// creating the EMF causes SchemaCreator to be run...
EntityManagerFactory emf = Bootstrap.getEntityManagerFactoryBuilder( persistenceUnit, Collections.emptyMap() ).build();
// closing the EMF causes the delayed SchemaDropper to be run...
// wrap in a transaction just to see if we can get this to fail in the way the WF report says;
// in my experience however this succeeds with or without the transaction
final TransactionManager tm = emf.unwrap( SessionFactoryImplementor.class ).getServiceRegistry().getService( JtaPlatform.class ).retrieveTransactionManager();
tm.begin();
Transaction txn = tm.getTransaction();
emf.close();
txn.commit();
}
}

View File

@ -1,10 +1,10 @@
/* /*
* Hibernate, Relational Persistence for Idiomatic Java * Hibernate, Relational Persistence for Idiomatic Java
* *
* License: GNU Lesser General Public License (LGPL), version 2.1 or later. * License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/ */
package org.hibernate.test.wf.ddl; package org.hibernate.test.wf.ddl.cmt.sf;
/** /**
* @author Andrea Boriero * @author Andrea Boriero
@ -19,15 +19,17 @@ import javax.ejb.TransactionManagementType;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Configuration;
import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
@Stateful @Stateful
@TransactionManagement(TransactionManagementType.CONTAINER) @TransactionManagement(TransactionManagementType.CONTAINER)
public class SFSBHibernateSessionFactory { public class CmtSfStatefulBean {
private static SessionFactory sessionFactory; private static SessionFactory sessionFactory;
@TransactionAttribute(TransactionAttributeType.NEVER) @TransactionAttribute(TransactionAttributeType.NEVER)
public void setupConfig() { public void start() {
try { try {
Configuration configuration = new Configuration(); Configuration configuration = new Configuration();
configuration = configuration.configure( "hibernate.cfg.xml" ); configuration = configuration.configure( "hibernate.cfg.xml" );
@ -41,7 +43,8 @@ public class SFSBHibernateSessionFactory {
} }
} }
public void cleanup() { @TransactionAttribute(TransactionAttributeType.REQUIRED)
public void stop() {
sessionFactory.close(); sessionFactory.close();
} }
} }

View File

@ -0,0 +1,65 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.test.wf.ddl.cmt.sf;
import org.hibernate.testing.TestForIssue;
import org.hibernate.test.wf.ddl.WildFlyDdlEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
/**
* @author Andrea Boriero
*/
@RunWith(Arquillian.class)
@TestForIssue(jiraKey = "HHH-11024")
public class DdlInWildFlyUsingCmtAndSfTest {
public static final String ARCHIVE_NAME = CmtSfStatefulBean.class.getSimpleName();
public static final String hibernate_cfg = "<?xml version='1.0' encoding='utf-8'?>"
+ "<!DOCTYPE hibernate-configuration PUBLIC " + "\"//Hibernate/Hibernate Configuration DTD 3.0//EN\" "
+ "\"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd\">"
+ "<hibernate-configuration><session-factory>" + "<property name=\"show_sql\">true</property>"
+ "<property name=\"hibernate.show_sql\">true</property>"
+ "<property name=\"hibernate.hbm2ddl.auto\">create-drop</property>"
+ "<property name=\"hibernate.connection.datasource\">java:jboss/datasources/ExampleDS</property>"
+ "<property name=\"hibernate.transaction.jta.platform\">JBossAS</property>"
+ "<property name=\"hibernate.transaction.coordinator_class\">jta</property>"
+ "<property name=\"hibernate.id.new_generator_mappings\">true</property>"
+ "</session-factory></hibernate-configuration>";
@Deployment
public static WebArchive deploy() throws Exception {
final WebArchive war = ShrinkWrap.create( WebArchive.class, ARCHIVE_NAME + ".war" )
.setManifest( "org/hibernate/test/wf/ddl/manifest.mf" )
.addClasses( WildFlyDdlEntity.class )
.addAsResource( new StringAsset( hibernate_cfg ), "hibernate.cfg.xml" )
.addClasses( CmtSfStatefulBean.class )
.addClasses( DdlInWildFlyUsingCmtAndSfTest.class );
return war;
}
;
@Test
public void testCreateThenDrop(CmtSfStatefulBean ejb) throws Exception {
assert ejb != null : "Method injected StatefulCMTBean reference was null";
try {
ejb.start();
}
finally {
ejb.stop();
}
}
}