]
David Allen commented on ARQ-379:
---------------------------------
Finished. The property name was changed and additional testing provided to make use of
the XML configuration file for OpenEJB. Code is located in same Github branch.
Arquillian does not allow any configuration of OpenEJB
------------------------------------------------------
Key: ARQ-379
URL:
https://issues.jboss.org/browse/ARQ-379
Project: Arquillian
Issue Type: Bug
Components: OpenEJB Containers
Affects Versions: 1.0.0.Alpha4
Reporter: David Allen
Assignee: David Allen
Priority: Blocker
Fix For: 1.0.0.Alpha5
The OpenEJBContainer in Arquillian only starts a couple basic services with OpenEJB
without any configuration or addition of other services and resource adapters. Without
Arquillian, one would use a jndi.properties file, for instance, and then create the
initial context which would start OpenEJB with all of its configuration options. Without
configuration, Arquillian tests cannot be used in real environments.
As an example, consider the arquillian-samples/jpalab. When Maven is run with the
default profile for OpenEJB and OpenJPA, the following log output is produced (excerpt
with only OpenEJB startup lines):
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager,
provider-id=Default Transaction Manager)
INFO - Configuring Service(id=Default Security Service, type=SecurityService,
provider-id=Default Security Service)
INFO - Configuring enterprise application:
/tmp/b99ee272-36b3-4d8c-a76a-379064eb1d62/81778d28-0e83-44b5-aecc-ced777c397a6.jar
INFO - Configuring Service(id=Default Stateless Container, type=Container,
provider-id=Default Stateless Container)
INFO - Auto-creating a container for bean JavaPersistenceHelperBean:
Container(type=STATELESS, id=Default Stateless Container)
INFO - Configuring Service(id=Default Stateful Container, type=Container,
provider-id=Default Stateful Container)
INFO - Auto-creating a container for bean RepositoryBean: Container(type=STATEFUL,
id=Default Stateful Container)
INFO - Configuring PersistenceUnit(name=test)
INFO - Configuring Service(id=Default JDBC Database, type=Resource, provider-id=Default
JDBC Database)
INFO - Auto-creating a Resource with id 'Default JDBC Database' of type
'DataSource for 'test'.
INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource,
provider-id=Default Unmanaged JDBC Database)
INFO - Auto-creating a Resource with id 'Default Unmanaged JDBC Database' of type
'DataSource for 'test'.
INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'Default
JDBC Database' from 'testDatabase'
INFO - Adjusting PersistenceUnit test <non-jta-data-source> to Resource ID
'Default Unmanaged JDBC Database' from 'null'
INFO - Enterprise application
"/tmp/b99ee272-36b3-4d8c-a76a-379064eb1d62/81778d28-0e83-44b5-aecc-ced777c397a6.jar"
loaded.
INFO - Assembling app:
/tmp/b99ee272-36b3-4d8c-a76a-379064eb1d62/81778d28-0e83-44b5-aecc-ced777c397a6.jar
INFO - PersistenceUnit(name=test,
provider=org.apache.openjpa.persistence.PersistenceProviderImpl)
ERROR - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of
a ClassFileTransformer which requires a JavaAgent. See
http://openejb.apache.org/3.0/javaagent.html
INFO - Jndi(name=JavaPersistenceHelperBeanLocal) -->
Ejb(deployment-id=JavaPersistenceHelperBean)
INFO - Jndi(name=RepositoryBeanLocal) --> Ejb(deployment-id=RepositoryBean)
INFO - Created Ejb(deployment-id=JavaPersistenceHelperBean,
ejb-name=JavaPersistenceHelperBean, container=Default Stateless Container)
INFO - Created Ejb(deployment-id=RepositoryBean, ejb-name=RepositoryBean,
container=Default Stateful Container)
INFO - Deployed
Application(path=/tmp/b99ee272-36b3-4d8c-a76a-379064eb1d62/81778d28-0e83-44b5-aecc-ced777c397a6.jar)
The key items to look at is that only a "Default JDBC Database" data source and
its unmanaged complement are created. There is no testDatabase data source being defined,
as specified in the jndi.properties file. Also note that the persistence unit was
automatically modified to point to the default data source since OpenEJB could not find
any testDatabase source.
I'll show what the log should look like shortly. I have this fixed already and in
use on a project.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: