You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by "Baker, Trevor" <cr...@mail.ubc.ca> on 2012/12/13 21:06:40 UTC

openejb.xml

Hi,

I have the following jndi.properties:

java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory

# create a new data source at: java:/openejb/Resource/dbUnitDS
dbUnitDS=new://Resource?type=DataSource
dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
dbUnitDS.JdbcDriver=org.h2.Driver
dbUnitDS.JtaManaged=true

# add properties for the persistence unit
test.hibernate.dialect=org.hibernate.dialect.H2Dialect
test.hibernate.hbm2ddl.auto=create-drop
test.hibernate.id.new_generator_mappings=true

Unfortunately, jndi.properties is interfering with non-openejb unit tests in the project. Would like to convert to openejb.xml but need some help. Can someone send back the openejb.xml equivalent. I'm assuming I can place in src/test/resources/openejb.xml.

Not being lazy. Just can't find any good resources. Would be nice if this page could have a sample openejb.xml: http://tomee.apache.org/embedded-configuration.html

Thanks,
Trev

Re: openejb.xml

Posted by Romain Manni-Bucau <rm...@gmail.com>.
[off topic]personally i'd love to get rid of JNDI, then be able to for
instance use a producer to get the datasource - would need a lot of
changes in the spec and the ability to configure from the server some
common producers for apps but would be far easier then - just my
opinion[/]

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/14 Baker, Trevor <cr...@mail.ubc.ca>:
> Yup. I've never heard of a portable jta-data-source. I see a lot examples (even the Java EE tutorial) using 'jdbc/MyDS' because that's the Glassfish ref impl way of doing it. Hopefully in the future they can make it more portable like the EJB 3.1 spec on naming. If you remember that spec, I would love to see it.
>
> D'uh. Properties in arquillian.xml. Forgot about that. Many thanks.
>
> Trev
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Sent: Friday, December 14, 2012 1:11 AM
> To: users@openejb.apache.org
> Subject: Re: openejb.xml
>
> well,
>
> if you want a global name use java:openejb/Resource... one...but that's not portable at all, thought i saw either in JPA spec or JavaEE (can't recall ATM) the name was not absolute.
>
> about arquillian you can put the properties in arquillian.xml with our adapter...not sure what you do in fact
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/14 Baker, Trevor <cr...@mail.ubc.ca>:
>> Hi Romain,
>>
>> From:
>> http://download.oracle.com/otndocs/jcp/persistence-2.0-fr-eval-oth-JSp
>> ec/
>>
>> <snippet>
>> 8.2.1.5 jta-data-source, non-jta-data-source In Java EE environments,
>> the jta-data-source and non-jta-data-source elements are used to
>> specify the global JNDI name of the JTA and/or non-JTA data source to
>> be used by the persistence provider. If neither is specified, the
>> deployer must specify a JTA data source at deployment or a JTA data
>> source must be provided by the container, and a JTA EntityManagerFactory will be created to correspond to it.
>>
>> These elements name the data source in the local environment; the
>> format of these names and the ability to specify the names are product specific.
>> </snippet>
>>
>> Specifically the "elements are used to specify the *global JNDI name*". Granted that the "format of these names and the ability to specify the names are product specific". That's why it's 'java:/DefaultDS' (JBoss 6) or 'java:jboss/datasources/ExampleDS' (JBoss 7) or 'jdbc/__default' (Glassfish) etc... and if the code does a new InitialContext("java:/DefaultDS") it will get that datasource.
>>
>> Where you getting your info from about standards?
>>
>> So back to OpenEJB ... <jta-data-source>foo</jta-data-source> ... I cannot get datasource if I do new InitialContext("foo") because it's actually new InitialContext("java:openejb/Resource/xyz") or whatever the resource name is. It doesn't match up.
>>
>> Some samples to the above that I noticed ...
>>
>> #1. I don't have an OpenEJB managed datasource, but I have my own DBCP that I manually loaded into JNDI at java:/jdbc/arquillian/dbUnitDS (not sure how this setup will play out with JTA). I get this in the log:
>> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'Default JDBC Database' from '/jdbc/arquillian/dbUnitDS'
>>
>> #2. I have <jta-data-source>blah</jta-data-source> and dbUnitDS=new://Resource?type=DataSource. I get this in the log:
>> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'dbUnitDS' from 'blah'
>>
>> Okay... thanks... I would have preferred an error and have to correct (align) the entries.
>>
>> I don't know what the behaviour would be if I had multiple OpenEJB managed datasources. Didn't try it.
>>
>> I appreciate the discussion on the format of <jta-data-source>, but like said earlier it's how OpenEJB swaps it out behind the scenes that throws me off as, IMHO, it doesn't respect the global JNDI entry that I put in there.
>>
>> Am I missing something?
>>
>>
>> Wow... this is really getting off-topic to my initial question. Good discussion, though. I'll try to get back on track ...
>>
>> I'm going to change the name from jndi.properties to something custom (openejb.properties) and create some custom glue Arquillian extension to load the contents of the file and set the entries in InitialContext. I think that will work. Some hoping I wouldn't have write up some custom thing for this. Oh well. C'est la vie.
>>
>> Sorry for the long email.
>>
>> Thanks,
>> Trev
>>
>> -----Original Message-----
>> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
>> Sent: Thursday, December 13, 2012 3:08 PM
>> To: users@openejb.apache.org
>> Subject: Re: openejb.xml
>>
>> wrong "<jta-data-source>foo</jta-data-source>" is the standard.
>> java:... names are not. You can use java:openejb/Resource/foo too i
>> guess...but well not better ;)
>>
>> OpenEJB 4.5.1 should support java:global or java:app (can't remember) names for datasources. But well clearly not something portable between application servers.
>>
>> about root utl we can't guess it from arquillian so the heuristic is to use the place where persistence.xml is (well it is the marker then we update it).
>>
>> You can't compare openejb to jboss or was because openejb arquilliana
>> dapter doesn't dump the archive on the disk. If you need it use tomee
>> remote arquillian adapter (or embedded) maybe
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
>>> <jta-data-source>foo</jta-data-source>

RE: openejb.xml

Posted by "Baker, Trevor" <cr...@mail.ubc.ca>.
Yup. I've never heard of a portable jta-data-source. I see a lot examples (even the Java EE tutorial) using 'jdbc/MyDS' because that's the Glassfish ref impl way of doing it. Hopefully in the future they can make it more portable like the EJB 3.1 spec on naming. If you remember that spec, I would love to see it.

D'uh. Properties in arquillian.xml. Forgot about that. Many thanks.

Trev
 
-----Original Message-----
From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com] 
Sent: Friday, December 14, 2012 1:11 AM
To: users@openejb.apache.org
Subject: Re: openejb.xml

well,

if you want a global name use java:openejb/Resource... one...but that's not portable at all, thought i saw either in JPA spec or JavaEE (can't recall ATM) the name was not absolute.

about arquillian you can put the properties in arquillian.xml with our adapter...not sure what you do in fact

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/14 Baker, Trevor <cr...@mail.ubc.ca>:
> Hi Romain,
>
> From: 
> http://download.oracle.com/otndocs/jcp/persistence-2.0-fr-eval-oth-JSp
> ec/
>
> <snippet>
> 8.2.1.5 jta-data-source, non-jta-data-source In Java EE environments, 
> the jta-data-source and non-jta-data-source elements are used to 
> specify the global JNDI name of the JTA and/or non-JTA data source to 
> be used by the persistence provider. If neither is specified, the 
> deployer must specify a JTA data source at deployment or a JTA data 
> source must be provided by the container, and a JTA EntityManagerFactory will be created to correspond to it.
>
> These elements name the data source in the local environment; the 
> format of these names and the ability to specify the names are product specific.
> </snippet>
>
> Specifically the "elements are used to specify the *global JNDI name*". Granted that the "format of these names and the ability to specify the names are product specific". That's why it's 'java:/DefaultDS' (JBoss 6) or 'java:jboss/datasources/ExampleDS' (JBoss 7) or 'jdbc/__default' (Glassfish) etc... and if the code does a new InitialContext("java:/DefaultDS") it will get that datasource.
>
> Where you getting your info from about standards?
>
> So back to OpenEJB ... <jta-data-source>foo</jta-data-source> ... I cannot get datasource if I do new InitialContext("foo") because it's actually new InitialContext("java:openejb/Resource/xyz") or whatever the resource name is. It doesn't match up.
>
> Some samples to the above that I noticed ...
>
> #1. I don't have an OpenEJB managed datasource, but I have my own DBCP that I manually loaded into JNDI at java:/jdbc/arquillian/dbUnitDS (not sure how this setup will play out with JTA). I get this in the log:
> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'Default JDBC Database' from '/jdbc/arquillian/dbUnitDS'
>
> #2. I have <jta-data-source>blah</jta-data-source> and dbUnitDS=new://Resource?type=DataSource. I get this in the log:
> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'dbUnitDS' from 'blah'
>
> Okay... thanks... I would have preferred an error and have to correct (align) the entries.
>
> I don't know what the behaviour would be if I had multiple OpenEJB managed datasources. Didn't try it.
>
> I appreciate the discussion on the format of <jta-data-source>, but like said earlier it's how OpenEJB swaps it out behind the scenes that throws me off as, IMHO, it doesn't respect the global JNDI entry that I put in there.
>
> Am I missing something?
>
>
> Wow... this is really getting off-topic to my initial question. Good discussion, though. I'll try to get back on track ...
>
> I'm going to change the name from jndi.properties to something custom (openejb.properties) and create some custom glue Arquillian extension to load the contents of the file and set the entries in InitialContext. I think that will work. Some hoping I wouldn't have write up some custom thing for this. Oh well. C'est la vie.
>
> Sorry for the long email.
>
> Thanks,
> Trev
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Sent: Thursday, December 13, 2012 3:08 PM
> To: users@openejb.apache.org
> Subject: Re: openejb.xml
>
> wrong "<jta-data-source>foo</jta-data-source>" is the standard.
> java:... names are not. You can use java:openejb/Resource/foo too i 
> guess...but well not better ;)
>
> OpenEJB 4.5.1 should support java:global or java:app (can't remember) names for datasources. But well clearly not something portable between application servers.
>
> about root utl we can't guess it from arquillian so the heuristic is to use the place where persistence.xml is (well it is the marker then we update it).
>
> You can't compare openejb to jboss or was because openejb arquilliana 
> dapter doesn't dump the archive on the disk. If you need it use tomee 
> remote arquillian adapter (or embedded) maybe
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
>> <jta-data-source>foo</jta-data-source>

Re: openejb.xml

Posted by Romain Manni-Bucau <rm...@gmail.com>.
well,

if you want a global name use java:openejb/Resource... one...but
that's not portable at all, thought i saw either in JPA spec or JavaEE
(can't recall ATM) the name was not absolute.

about arquillian you can put the properties in arquillian.xml with our
adapter...not sure what you do in fact

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/14 Baker, Trevor <cr...@mail.ubc.ca>:
> Hi Romain,
>
> From: http://download.oracle.com/otndocs/jcp/persistence-2.0-fr-eval-oth-JSpec/
>
> <snippet>
> 8.2.1.5 jta-data-source, non-jta-data-source
> In Java EE environments, the jta-data-source and non-jta-data-source elements are
> used to specify the global JNDI name of the JTA and/or non-JTA data source to be used by the persistence
> provider. If neither is specified, the deployer must specify a JTA data source at deployment or a
> JTA data source must be provided by the container, and a JTA EntityManagerFactory will be created to
> correspond to it.
>
> These elements name the data source in the local environment; the format of these names and the ability
> to specify the names are product specific.
> </snippet>
>
> Specifically the "elements are used to specify the *global JNDI name*". Granted that the "format of these names and the ability to specify the names are product specific". That's why it's 'java:/DefaultDS' (JBoss 6) or 'java:jboss/datasources/ExampleDS' (JBoss 7) or 'jdbc/__default' (Glassfish) etc... and if the code does a new InitialContext("java:/DefaultDS") it will get that datasource.
>
> Where you getting your info from about standards?
>
> So back to OpenEJB ... <jta-data-source>foo</jta-data-source> ... I cannot get datasource if I do new InitialContext("foo") because it's actually new InitialContext("java:openejb/Resource/xyz") or whatever the resource name is. It doesn't match up.
>
> Some samples to the above that I noticed ...
>
> #1. I don't have an OpenEJB managed datasource, but I have my own DBCP that I manually loaded into JNDI at java:/jdbc/arquillian/dbUnitDS (not sure how this setup will play out with JTA). I get this in the log:
> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'Default JDBC Database' from '/jdbc/arquillian/dbUnitDS'
>
> #2. I have <jta-data-source>blah</jta-data-source> and dbUnitDS=new://Resource?type=DataSource. I get this in the log:
> INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'dbUnitDS' from 'blah'
>
> Okay... thanks... I would have preferred an error and have to correct (align) the entries.
>
> I don't know what the behaviour would be if I had multiple OpenEJB managed datasources. Didn't try it.
>
> I appreciate the discussion on the format of <jta-data-source>, but like said earlier it's how OpenEJB swaps it out behind the scenes that throws me off as, IMHO, it doesn't respect the global JNDI entry that I put in there.
>
> Am I missing something?
>
>
> Wow... this is really getting off-topic to my initial question. Good discussion, though. I'll try to get back on track ...
>
> I'm going to change the name from jndi.properties to something custom (openejb.properties) and create some custom glue Arquillian extension to load the contents of the file and set the entries in InitialContext. I think that will work. Some hoping I wouldn't have write up some custom thing for this. Oh well. C'est la vie.
>
> Sorry for the long email.
>
> Thanks,
> Trev
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Sent: Thursday, December 13, 2012 3:08 PM
> To: users@openejb.apache.org
> Subject: Re: openejb.xml
>
> wrong "<jta-data-source>foo</jta-data-source>" is the standard.
> java:... names are not. You can use java:openejb/Resource/foo too i guess...but well not better ;)
>
> OpenEJB 4.5.1 should support java:global or java:app (can't remember) names for datasources. But well clearly not something portable between application servers.
>
> about root utl we can't guess it from arquillian so the heuristic is to use the place where persistence.xml is (well it is the marker then we update it).
>
> You can't compare openejb to jboss or was because openejb arquilliana dapter doesn't dump the archive on the disk. If you need it use tomee remote arquillian adapter (or embedded) maybe
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
>> <jta-data-source>foo</jta-data-source>

RE: openejb.xml

Posted by "Baker, Trevor" <cr...@mail.ubc.ca>.
Hi Romain,

From: http://download.oracle.com/otndocs/jcp/persistence-2.0-fr-eval-oth-JSpec/

<snippet>
8.2.1.5 jta-data-source, non-jta-data-source
In Java EE environments, the jta-data-source and non-jta-data-source elements are
used to specify the global JNDI name of the JTA and/or non-JTA data source to be used by the persistence
provider. If neither is specified, the deployer must specify a JTA data source at deployment or a
JTA data source must be provided by the container, and a JTA EntityManagerFactory will be created to
correspond to it.

These elements name the data source in the local environment; the format of these names and the ability
to specify the names are product specific.
</snippet>

Specifically the "elements are used to specify the *global JNDI name*". Granted that the "format of these names and the ability to specify the names are product specific". That's why it's 'java:/DefaultDS' (JBoss 6) or 'java:jboss/datasources/ExampleDS' (JBoss 7) or 'jdbc/__default' (Glassfish) etc... and if the code does a new InitialContext("java:/DefaultDS") it will get that datasource.

Where you getting your info from about standards?

So back to OpenEJB ... <jta-data-source>foo</jta-data-source> ... I cannot get datasource if I do new InitialContext("foo") because it's actually new InitialContext("java:openejb/Resource/xyz") or whatever the resource name is. It doesn't match up.

Some samples to the above that I noticed ...

#1. I don't have an OpenEJB managed datasource, but I have my own DBCP that I manually loaded into JNDI at java:/jdbc/arquillian/dbUnitDS (not sure how this setup will play out with JTA). I get this in the log:
INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'Default JDBC Database' from '/jdbc/arquillian/dbUnitDS'

#2. I have <jta-data-source>blah</jta-data-source> and dbUnitDS=new://Resource?type=DataSource. I get this in the log:
INFO - Adjusting PersistenceUnit test <jta-data-source> to Resource ID 'dbUnitDS' from 'blah'

Okay... thanks... I would have preferred an error and have to correct (align) the entries.

I don't know what the behaviour would be if I had multiple OpenEJB managed datasources. Didn't try it.

I appreciate the discussion on the format of <jta-data-source>, but like said earlier it's how OpenEJB swaps it out behind the scenes that throws me off as, IMHO, it doesn't respect the global JNDI entry that I put in there.

Am I missing something?


Wow... this is really getting off-topic to my initial question. Good discussion, though. I'll try to get back on track ...

I'm going to change the name from jndi.properties to something custom (openejb.properties) and create some custom glue Arquillian extension to load the contents of the file and set the entries in InitialContext. I think that will work. Some hoping I wouldn't have write up some custom thing for this. Oh well. C'est la vie.

Sorry for the long email.

Thanks,
Trev

-----Original Message-----
From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com] 
Sent: Thursday, December 13, 2012 3:08 PM
To: users@openejb.apache.org
Subject: Re: openejb.xml

wrong "<jta-data-source>foo</jta-data-source>" is the standard.
java:... names are not. You can use java:openejb/Resource/foo too i guess...but well not better ;)

OpenEJB 4.5.1 should support java:global or java:app (can't remember) names for datasources. But well clearly not something portable between application servers.

about root utl we can't guess it from arquillian so the heuristic is to use the place where persistence.xml is (well it is the marker then we update it).

You can't compare openejb to jboss or was because openejb arquilliana dapter doesn't dump the archive on the disk. If you need it use tomee remote arquillian adapter (or embedded) maybe


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
> <jta-data-source>foo</jta-data-source>

Re: openejb.xml

Posted by Romain Manni-Bucau <rm...@gmail.com>.
wrong "<jta-data-source>foo</jta-data-source>" is the standard.
java:... names are not. You can use java:openejb/Resource/foo too i
guess...but well not better ;)

OpenEJB 4.5.1 should support java:global or java:app (can't remember)
names for datasources. But well clearly not something portable between
application servers.

about root utl we can't guess it from arquillian so the heuristic is
to use the place where persistence.xml is (well it is the marker then
we update it).

You can't compare openejb to jboss or was because openejb arquilliana
dapter doesn't dump the archive on the disk. If you need it use tomee
remote arquillian adapter (or embedded) maybe


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
> <jta-data-source>foo</jta-data-source>

RE: openejb.xml

Posted by "Baker, Trevor" <cr...@mail.ubc.ca>.
Hi Romain,

I agree Arquillian in fully embedded is not easy to get right. Been playing around with it for weeks. :-) Not only that but OpenEJB has to deal with different JPA providers too. I understand the desire to load stuff off of file://... because don't have to re-package all the code into a jar://... (or some protocol that jives with ShrinkWrap archives) but I think packaging it up would solve some Arquillian issues (at least for Hibernate ... not sure about other JPA providers). Thoughts?

Ok, <jta-data-source>foo</jta-data-source> is the standard for *OpenEJB*. OpenEJB creates the JNDI entry 'java:/openejb/Resource/foo' for the JPA providers to use. Why can't I provide my own *explicit* JNDI path (regardless of how ugly my JNDI path is :-) ? I've worked with Weblogic and JBoss and they don't swap it out like OpenEJB does. It makes my config structure easier because then all OpenEJB and JBoss config aligns better and I have fewer overrides.

Sounds like OpenEJB 4.5.1 doesn't support explicit JNDI paths for the jta-data-source & non-jta-data-source? If it doesn't I'll create a Jira because I think it should be something for consideration for a future release.

Trev

-----Original Message-----
From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com] 
Sent: Thursday, December 13, 2012 1:50 PM
To: users@openejb.apache.org
Subject: Re: openejb.xml

about root url with 1.5.1 it should be the build dir (well we look at classpath persistence.xml so if resources is in the classpath...) but you can avoid it specifying your entities. From arquillian in fully embedded mode that's not so easy to get it right (you can specify it using new StringAsset(..) so no root url)

about the datasource just define a resource called "foo" (whatever you want but not java:foo) and use "foo" in the persistence.xml (java:/my/own/jdbc/dbUnitDS is not standard in this place)

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
> I'm hoping to use config files instead of doing it programmatically.
>
> I tried a src/test/resources/dbUnit-persistence.xml once before with Arquillian putting it into the archive as META-INF/persistence.xml. Sadly, the PU's root url passed to hibernate was incorrect and hibernate didn't obviously find my src/main/java/... @Entity tagged classes. So went the jndi.properties route and overriding entries in src/main/resources/META-INF/persistence.xml. I'll get a test case for you. IIRC, I think it used file://.../src/test/resources as the root url instead of a virtual Jar.
>
> For the PU's <jta-data-source>java:/my/own/jdbc/dbUnitDS</jta-data-source>, OpenEJB does some magic in the back and replaces it. Is there a way I can keep it and I can supply the data source? I got a JNDI tree importer for @Resource(lookup) stuff so I can throw in a DBCP too.
>
> Thanks,
> Trev
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Sent: Thursday, December 13, 2012 12:40 PM
> To: users@openejb.apache.org
> Subject: Re: openejb.xml
>
> hmm jndi.properties is not managed by openejb directly in your case 
> byt InitialContext IIRC
>
> why not simply passing these properties to openejb when starting the container?
>
> Note: "new" EJBContainer API ignores jndi.properties IIRC
>
> for the datasource you can create a conf folder (in ".") and add 
> openejb.xml file. For hibernate you'll need to add it somewhere else 
> (you can use altdd to define a test.persistence.xml normally)
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/13 Neale <ne...@metawerx.net>:
>> Hi Trevor,
>>
>> Can you tell us your changes/findings so we can adjust the docs to 
>> make it easier for everyone else?
>>
>> Best Regards,
>> Neale
>>
>>
>>
>> ----- Original Message ----- From: "Baker, Trevor"
>> <cr...@mail.ubc.ca>
>> To: <us...@openejb.apache.org>
>> Sent: Friday, December 14, 2012 7:10 AM
>> Subject: RE: openejb.xml
>>
>>
>>
>> Fixed some line-ending weirdness.
>>
>> -----Original Message-----
>> From: Baker, Trevor [mailto:crbaker@mail.ubc.ca]
>> Sent: Thursday, December 13, 2012 12:07 PM
>> To: users@openejb.apache.org
>> Subject: openejb.xml
>>
>> Hi,
>>
>> I have the following jndi.properties:
>>
>> ----
>> java.naming.factory.initial=org.apache.openejb.client.LocalInitialCon
>> t
>> extFactory
>>
>> # create a new data source at: java:/openejb/Resource/dbUnitDS 
>> dbUnitDS=new://Resource?type=DataSource
>> dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
>> dbUnitDS.JdbcDriver=org.h2.Driver
>> dbUnitDS.JtaManaged=true
>>
>> # add properties for the persistence unit 
>> test.hibernate.dialect=org.hibernate.dialect.H2Dialect
>> test.hibernate.hbm2ddl.auto=create-drop
>> test.hibernate.id.new_generator_mappings=true
>> ---
>>
>> Unfortunately, jndi.properties is interfering with non-openejb unit 
>> tests in the project. Would like to convert to openejb.xml but need 
>> some help. Can someone send back the openejb.xml equivalent. I'm 
>> assuming I can place in src/test/resources/openejb.xml.
>>
>> Not being lazy. Just can't find any good resources. Would be nice if 
>> this page could have a sample openejb.xml:
>> http://tomee.apache.org/embedded-configuration.html
>>
>> Thanks,
>> Trev

Re: openejb.xml

Posted by Romain Manni-Bucau <rm...@gmail.com>.
about root url with 1.5.1 it should be the build dir (well we look at
classpath persistence.xml so if resources is in the classpath...) but
you can avoid it specifying your entities. From arquillian in fully
embedded mode that's not so easy to get it right (you can specify it
using new StringAsset(..) so no root url)

about the datasource just define a resource called "foo" (whatever you
want but not java:foo) and use "foo" in the persistence.xml
(java:/my/own/jdbc/dbUnitDS is not standard in this place)

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Baker, Trevor <cr...@mail.ubc.ca>:
> I'm hoping to use config files instead of doing it programmatically.
>
> I tried a src/test/resources/dbUnit-persistence.xml once before with Arquillian putting it into the archive as META-INF/persistence.xml. Sadly, the PU's root url passed to hibernate was incorrect and hibernate didn't obviously find my src/main/java/... @Entity tagged classes. So went the jndi.properties route and overriding entries in src/main/resources/META-INF/persistence.xml. I'll get a test case for you. IIRC, I think it used file://.../src/test/resources as the root url instead of a virtual Jar.
>
> For the PU's <jta-data-source>java:/my/own/jdbc/dbUnitDS</jta-data-source>, OpenEJB does some magic in the back and replaces it. Is there a way I can keep it and I can supply the data source? I got a JNDI tree importer for @Resource(lookup) stuff so I can throw in a DBCP too.
>
> Thanks,
> Trev
>
> -----Original Message-----
> From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com]
> Sent: Thursday, December 13, 2012 12:40 PM
> To: users@openejb.apache.org
> Subject: Re: openejb.xml
>
> hmm jndi.properties is not managed by openejb directly in your case byt InitialContext IIRC
>
> why not simply passing these properties to openejb when starting the container?
>
> Note: "new" EJBContainer API ignores jndi.properties IIRC
>
> for the datasource you can create a conf folder (in ".") and add openejb.xml file. For hibernate you'll need to add it somewhere else (you can use altdd to define a test.persistence.xml normally)
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2012/12/13 Neale <ne...@metawerx.net>:
>> Hi Trevor,
>>
>> Can you tell us your changes/findings so we can adjust the docs to
>> make it easier for everyone else?
>>
>> Best Regards,
>> Neale
>>
>>
>>
>> ----- Original Message ----- From: "Baker, Trevor"
>> <cr...@mail.ubc.ca>
>> To: <us...@openejb.apache.org>
>> Sent: Friday, December 14, 2012 7:10 AM
>> Subject: RE: openejb.xml
>>
>>
>>
>> Fixed some line-ending weirdness.
>>
>> -----Original Message-----
>> From: Baker, Trevor [mailto:crbaker@mail.ubc.ca]
>> Sent: Thursday, December 13, 2012 12:07 PM
>> To: users@openejb.apache.org
>> Subject: openejb.xml
>>
>> Hi,
>>
>> I have the following jndi.properties:
>>
>> ----
>> java.naming.factory.initial=org.apache.openejb.client.LocalInitialCont
>> extFactory
>>
>> # create a new data source at: java:/openejb/Resource/dbUnitDS
>> dbUnitDS=new://Resource?type=DataSource
>> dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
>> dbUnitDS.JdbcDriver=org.h2.Driver
>> dbUnitDS.JtaManaged=true
>>
>> # add properties for the persistence unit
>> test.hibernate.dialect=org.hibernate.dialect.H2Dialect
>> test.hibernate.hbm2ddl.auto=create-drop
>> test.hibernate.id.new_generator_mappings=true
>> ---
>>
>> Unfortunately, jndi.properties is interfering with non-openejb unit
>> tests in the project. Would like to convert to openejb.xml but need
>> some help. Can someone send back the openejb.xml equivalent. I'm
>> assuming I can place in src/test/resources/openejb.xml.
>>
>> Not being lazy. Just can't find any good resources. Would be nice if
>> this page could have a sample openejb.xml:
>> http://tomee.apache.org/embedded-configuration.html
>>
>> Thanks,
>> Trev

RE: openejb.xml

Posted by "Baker, Trevor" <cr...@mail.ubc.ca>.
I'm hoping to use config files instead of doing it programmatically.

I tried a src/test/resources/dbUnit-persistence.xml once before with Arquillian putting it into the archive as META-INF/persistence.xml. Sadly, the PU's root url passed to hibernate was incorrect and hibernate didn't obviously find my src/main/java/... @Entity tagged classes. So went the jndi.properties route and overriding entries in src/main/resources/META-INF/persistence.xml. I'll get a test case for you. IIRC, I think it used file://.../src/test/resources as the root url instead of a virtual Jar.

For the PU's <jta-data-source>java:/my/own/jdbc/dbUnitDS</jta-data-source>, OpenEJB does some magic in the back and replaces it. Is there a way I can keep it and I can supply the data source? I got a JNDI tree importer for @Resource(lookup) stuff so I can throw in a DBCP too.

Thanks,
Trev

-----Original Message-----
From: Romain Manni-Bucau [mailto:rmannibucau@gmail.com] 
Sent: Thursday, December 13, 2012 12:40 PM
To: users@openejb.apache.org
Subject: Re: openejb.xml

hmm jndi.properties is not managed by openejb directly in your case byt InitialContext IIRC

why not simply passing these properties to openejb when starting the container?

Note: "new" EJBContainer API ignores jndi.properties IIRC

for the datasource you can create a conf folder (in ".") and add openejb.xml file. For hibernate you'll need to add it somewhere else (you can use altdd to define a test.persistence.xml normally)

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Neale <ne...@metawerx.net>:
> Hi Trevor,
>
> Can you tell us your changes/findings so we can adjust the docs to 
> make it easier for everyone else?
>
> Best Regards,
> Neale
>
>
>
> ----- Original Message ----- From: "Baker, Trevor" 
> <cr...@mail.ubc.ca>
> To: <us...@openejb.apache.org>
> Sent: Friday, December 14, 2012 7:10 AM
> Subject: RE: openejb.xml
>
>
>
> Fixed some line-ending weirdness.
>
> -----Original Message-----
> From: Baker, Trevor [mailto:crbaker@mail.ubc.ca]
> Sent: Thursday, December 13, 2012 12:07 PM
> To: users@openejb.apache.org
> Subject: openejb.xml
>
> Hi,
>
> I have the following jndi.properties:
>
> ----
> java.naming.factory.initial=org.apache.openejb.client.LocalInitialCont
> extFactory
>
> # create a new data source at: java:/openejb/Resource/dbUnitDS 
> dbUnitDS=new://Resource?type=DataSource
> dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
> dbUnitDS.JdbcDriver=org.h2.Driver
> dbUnitDS.JtaManaged=true
>
> # add properties for the persistence unit 
> test.hibernate.dialect=org.hibernate.dialect.H2Dialect
> test.hibernate.hbm2ddl.auto=create-drop
> test.hibernate.id.new_generator_mappings=true
> ---
>
> Unfortunately, jndi.properties is interfering with non-openejb unit 
> tests in the project. Would like to convert to openejb.xml but need 
> some help. Can someone send back the openejb.xml equivalent. I'm 
> assuming I can place in src/test/resources/openejb.xml.
>
> Not being lazy. Just can't find any good resources. Would be nice if 
> this page could have a sample openejb.xml:
> http://tomee.apache.org/embedded-configuration.html
>
> Thanks,
> Trev

Re: openejb.xml

Posted by Romain Manni-Bucau <rm...@gmail.com>.
hmm jndi.properties is not managed by openejb directly in your case
byt InitialContext IIRC

why not simply passing these properties to openejb when starting the container?

Note: "new" EJBContainer API ignores jndi.properties IIRC

for the datasource you can create a conf folder (in ".") and add
openejb.xml file. For hibernate you'll need to add it somewhere else
(you can use altdd to define a test.persistence.xml normally)

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2012/12/13 Neale <ne...@metawerx.net>:
> Hi Trevor,
>
> Can you tell us your changes/findings so we can adjust the docs to make it
> easier for everyone else?
>
> Best Regards,
> Neale
>
>
>
> ----- Original Message ----- From: "Baker, Trevor" <cr...@mail.ubc.ca>
> To: <us...@openejb.apache.org>
> Sent: Friday, December 14, 2012 7:10 AM
> Subject: RE: openejb.xml
>
>
>
> Fixed some line-ending weirdness.
>
> -----Original Message-----
> From: Baker, Trevor [mailto:crbaker@mail.ubc.ca]
> Sent: Thursday, December 13, 2012 12:07 PM
> To: users@openejb.apache.org
> Subject: openejb.xml
>
> Hi,
>
> I have the following jndi.properties:
>
> ----
> java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory
>
> # create a new data source at: java:/openejb/Resource/dbUnitDS
> dbUnitDS=new://Resource?type=DataSource
> dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
> dbUnitDS.JdbcDriver=org.h2.Driver
> dbUnitDS.JtaManaged=true
>
> # add properties for the persistence unit
> test.hibernate.dialect=org.hibernate.dialect.H2Dialect
> test.hibernate.hbm2ddl.auto=create-drop
> test.hibernate.id.new_generator_mappings=true
> ---
>
> Unfortunately, jndi.properties is interfering with non-openejb unit tests in
> the project. Would like to convert to openejb.xml but need some help. Can
> someone send back the openejb.xml equivalent. I'm assuming I can place in
> src/test/resources/openejb.xml.
>
> Not being lazy. Just can't find any good resources. Would be nice if this
> page could have a sample openejb.xml:
> http://tomee.apache.org/embedded-configuration.html
>
> Thanks,
> Trev

Re: openejb.xml

Posted by Neale <ne...@metawerx.net>.
Hi Trevor,

Can you tell us your changes/findings so we can adjust the docs to make it 
easier for everyone else?

Best Regards,
Neale



----- Original Message ----- 
From: "Baker, Trevor" <cr...@mail.ubc.ca>
To: <us...@openejb.apache.org>
Sent: Friday, December 14, 2012 7:10 AM
Subject: RE: openejb.xml


Fixed some line-ending weirdness.

-----Original Message-----
From: Baker, Trevor [mailto:crbaker@mail.ubc.ca]
Sent: Thursday, December 13, 2012 12:07 PM
To: users@openejb.apache.org
Subject: openejb.xml

Hi,

I have the following jndi.properties:

----
java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory

# create a new data source at: java:/openejb/Resource/dbUnitDS
dbUnitDS=new://Resource?type=DataSource
dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
dbUnitDS.JdbcDriver=org.h2.Driver
dbUnitDS.JtaManaged=true

# add properties for the persistence unit
test.hibernate.dialect=org.hibernate.dialect.H2Dialect
test.hibernate.hbm2ddl.auto=create-drop
test.hibernate.id.new_generator_mappings=true
---

Unfortunately, jndi.properties is interfering with non-openejb unit tests in 
the project. Would like to convert to openejb.xml but need some help. Can 
someone send back the openejb.xml equivalent. I'm assuming I can place in 
src/test/resources/openejb.xml.

Not being lazy. Just can't find any good resources. Would be nice if this 
page could have a sample openejb.xml: 
http://tomee.apache.org/embedded-configuration.html

Thanks,
Trev 


RE: openejb.xml

Posted by "Baker, Trevor" <cr...@mail.ubc.ca>.
Fixed some line-ending weirdness.

-----Original Message-----
From: Baker, Trevor [mailto:crbaker@mail.ubc.ca] 
Sent: Thursday, December 13, 2012 12:07 PM
To: users@openejb.apache.org
Subject: openejb.xml

Hi,

I have the following jndi.properties:

----
java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory

# create a new data source at: java:/openejb/Resource/dbUnitDS
dbUnitDS=new://Resource?type=DataSource
dbUnitDS.JdbcUrl=jdbc:h2:mem:arquillian;DB_CLOSE_DELAY=-1
dbUnitDS.JdbcDriver=org.h2.Driver
dbUnitDS.JtaManaged=true

# add properties for the persistence unit
test.hibernate.dialect=org.hibernate.dialect.H2Dialect
test.hibernate.hbm2ddl.auto=create-drop
test.hibernate.id.new_generator_mappings=true
---

Unfortunately, jndi.properties is interfering with non-openejb unit tests in the project. Would like to convert to openejb.xml but need some help. Can someone send back the openejb.xml equivalent. I'm assuming I can place in src/test/resources/openejb.xml.

Not being lazy. Just can't find any good resources. Would be nice if this page could have a sample openejb.xml: http://tomee.apache.org/embedded-configuration.html

Thanks,
Trev