RE: [Newsletter] Re: Migration step of jtaManaged flag in context resources

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

RE: [Newsletter] Re: Migration step of jtaManaged flag in context resources

fabian-a.richter
Hi Mark and Romain,

thanks for your replies!

Is the resources.xml approach a portable solution? E.g. if we want to support Wildfly in the future, which approach is the most portable? Tomee.conf doesn’t sound too portable :)

Thanks and best
Fabian

-----Original Message-----
From: Mark Struberg <[hidden email]>
Sent: Friday, May 11, 2018 10:27 AM
To: [hidden email]
Subject: *EXT* [Newsletter] Re: Migration step of jtaManaged flag in context resources

Hi Fabian!


To give a bit more context:

Having actual db connections configured inside a WAR or EAR is usually something you'd rather like to avoid.
Having passwords checked in into your source repo, needing to recompile if you want to tweak the connection or credentials, etc All that is simply not a really good idea.

This problem is imo best solved by separating off all configuration and kind of 'infrastructure' setup from your own appliaction source and provide it via the container.

TLDR; I recommend configuring DataSources and stuff in the container and not in your WAR: Just use /conf/tomee.xml [1].
And you can ofc also encrypt your passwords [2] so they are not stored in plain text.

LieGrue,
strub


[1] https://tomee.apache.org/configuring-datasources.html
[2] https://tomee.apache.org/datasource-password-encryption.html

> Am 09.05.2018 um 17:21 schrieb Romain Manni-Bucau <[hidden email]>:
>
> Hi
>
> Just use resources.xml
>
> Le mer. 9 mai 2018 14:05, <[hidden email]> a écrit :
>
>> Hi all,
>>
>>
>>
>> I haven been trying to migrate from TomEE 1.7.5 to 7.0.4 but I am
>> currently stuck with the following problem:
>>
>>
>>
>> We have DataSources defined in webapp’s META-INF/context.xml as
>> Tomcat <Resource> and there _*was*_ a flag called jtaManaged which
>> apparently doesn’t exist in Tomcat 8.5 anymore. Problem is our
>> persistence units are still JTA managed, so what I see in the log is:
>>
>>
>>
>> org.apache.openejb.config.AutoConfig deploy Found matching
>> datasource: XXX but this one is not a JTA datasource
>>
>>
>>
>> An hence TomEE does the following:
>>
>> org.apache.openejb.config.AutoConfig setJtaDataSource Adjusting
>> PersistenceUnit Auditing <jta-data-source> to Resource ID 'Default
>> JDBC Database' from 'XXX
>>
>> org.apache.openejb.config.AutoConfig setNonJtaDataSource Adjusting
>> PersistenceUnit Auditing <non-jta-data-source> to Resource ID
>> 'Default Unmanaged JDBC Database' from 'null'
>>
>>
>>
>> How can I define a DataSource inside context.xml which is still JTA
>> managed? Or what is the correct way to migrate such a scenario?
>> Wrapping it in JTADataSourceWrapperFacory?
>>
>>
>>
>> Thanks in advance and best
>>
>> Fabian
>>
>>
>>

smime.p7s (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Newsletter] Re: Migration step of jtaManaged flag in context resources

Romain Manni-Bucau
Not portable but same as context.xml ;)

@DataSourceDefinition is not too :( - properties are not

Le lun. 14 mai 2018 07:57, <[hidden email]> a écrit :

> Hi Mark and Romain,
>
> thanks for your replies!
>
> Is the resources.xml approach a portable solution? E.g. if we want to
> support Wildfly in the future, which approach is the most portable?
> Tomee.conf doesn’t sound too portable :)
>
> Thanks and best
> Fabian
>
> -----Original Message-----
> From: Mark Struberg <[hidden email]>
> Sent: Friday, May 11, 2018 10:27 AM
> To: [hidden email]
> Subject: *EXT* [Newsletter] Re: Migration step of jtaManaged flag in
> context resources
>
> Hi Fabian!
>
>
> To give a bit more context:
>
> Having actual db connections configured inside a WAR or EAR is usually
> something you'd rather like to avoid.
> Having passwords checked in into your source repo, needing to recompile if
> you want to tweak the connection or credentials, etc All that is simply not
> a really good idea.
>
> This problem is imo best solved by separating off all configuration and
> kind of 'infrastructure' setup from your own appliaction source and provide
> it via the container.
>
> TLDR; I recommend configuring DataSources and stuff in the container and
> not in your WAR: Just use /conf/tomee.xml [1].
> And you can ofc also encrypt your passwords [2] so they are not stored in
> plain text.
>
> LieGrue,
> strub
>
>
> [1] https://tomee.apache.org/configuring-datasources.html
> [2] https://tomee.apache.org/datasource-password-encryption.html
>
> > Am 09.05.2018 um 17:21 schrieb Romain Manni-Bucau <[hidden email]
> >:
> >
> > Hi
> >
> > Just use resources.xml
> >
> > Le mer. 9 mai 2018 14:05, <[hidden email]> a écrit :
> >
> >> Hi all,
> >>
> >>
> >>
> >> I haven been trying to migrate from TomEE 1.7.5 to 7.0.4 but I am
> >> currently stuck with the following problem:
> >>
> >>
> >>
> >> We have DataSources defined in webapp’s META-INF/context.xml as
> >> Tomcat <Resource> and there _*was*_ a flag called jtaManaged which
> >> apparently doesn’t exist in Tomcat 8.5 anymore. Problem is our
> >> persistence units are still JTA managed, so what I see in the log is:
> >>
> >>
> >>
> >> org.apache.openejb.config.AutoConfig deploy Found matching
> >> datasource: XXX but this one is not a JTA datasource
> >>
> >>
> >>
> >> An hence TomEE does the following:
> >>
> >> org.apache.openejb.config.AutoConfig setJtaDataSource Adjusting
> >> PersistenceUnit Auditing <jta-data-source> to Resource ID 'Default
> >> JDBC Database' from 'XXX
> >>
> >> org.apache.openejb.config.AutoConfig setNonJtaDataSource Adjusting
> >> PersistenceUnit Auditing <non-jta-data-source> to Resource ID
> >> 'Default Unmanaged JDBC Database' from 'null'
> >>
> >>
> >>
> >> How can I define a DataSource inside context.xml which is still JTA
> >> managed? Or what is the correct way to migrate such a scenario?
> >> Wrapping it in JTADataSourceWrapperFacory?
> >>
> >>
> >>
> >> Thanks in advance and best
> >>
> >> Fabian
> >>
> >>
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: [Newsletter] Migration step of jtaManaged flag in context resources

Mark Struberg-2
Yup.

In my book the conf/tomee.xml is the most portable one.
Becaue here you clearly defer all infrastructure configuration to the container.
Of course for WildFly, Payara, etc the way how to configure the infrastructure is different. But the WAR will be perfectly portable in this case.

LieGrue,
strub


> Am 14.05.2018 um 10:52 schrieb Romain Manni-Bucau <[hidden email]>:
>
> Not portable but same as context.xml ;)
>
> @DataSourceDefinition is not too :( - properties are not
>
> Le lun. 14 mai 2018 07:57, <[hidden email]> a écrit :
>
>> Hi Mark and Romain,
>>
>> thanks for your replies!
>>
>> Is the resources.xml approach a portable solution? E.g. if we want to
>> support Wildfly in the future, which approach is the most portable?
>> Tomee.conf doesn’t sound too portable :)
>>
>> Thanks and best
>> Fabian
>>
>> -----Original Message-----
>> From: Mark Struberg <[hidden email]>
>> Sent: Friday, May 11, 2018 10:27 AM
>> To: [hidden email]
>> Subject: *EXT* [Newsletter] Re: Migration step of jtaManaged flag in
>> context resources
>>
>> Hi Fabian!
>>
>>
>> To give a bit more context:
>>
>> Having actual db connections configured inside a WAR or EAR is usually
>> something you'd rather like to avoid.
>> Having passwords checked in into your source repo, needing to recompile if
>> you want to tweak the connection or credentials, etc All that is simply not
>> a really good idea.
>>
>> This problem is imo best solved by separating off all configuration and
>> kind of 'infrastructure' setup from your own appliaction source and provide
>> it via the container.
>>
>> TLDR; I recommend configuring DataSources and stuff in the container and
>> not in your WAR: Just use /conf/tomee.xml [1].
>> And you can ofc also encrypt your passwords [2] so they are not stored in
>> plain text.
>>
>> LieGrue,
>> strub
>>
>>
>> [1] https://tomee.apache.org/configuring-datasources.html
>> [2] https://tomee.apache.org/datasource-password-encryption.html
>>
>>> Am 09.05.2018 um 17:21 schrieb Romain Manni-Bucau <[hidden email]
>>> :
>>>
>>> Hi
>>>
>>> Just use resources.xml
>>>
>>> Le mer. 9 mai 2018 14:05, <[hidden email]> a écrit :
>>>
>>>> Hi all,
>>>>
>>>>
>>>>
>>>> I haven been trying to migrate from TomEE 1.7.5 to 7.0.4 but I am
>>>> currently stuck with the following problem:
>>>>
>>>>
>>>>
>>>> We have DataSources defined in webapp’s META-INF/context.xml as
>>>> Tomcat <Resource> and there _*was*_ a flag called jtaManaged which
>>>> apparently doesn’t exist in Tomcat 8.5 anymore. Problem is our
>>>> persistence units are still JTA managed, so what I see in the log is:
>>>>
>>>>
>>>>
>>>> org.apache.openejb.config.AutoConfig deploy Found matching
>>>> datasource: XXX but this one is not a JTA datasource
>>>>
>>>>
>>>>
>>>> An hence TomEE does the following:
>>>>
>>>> org.apache.openejb.config.AutoConfig setJtaDataSource Adjusting
>>>> PersistenceUnit Auditing <jta-data-source> to Resource ID 'Default
>>>> JDBC Database' from 'XXX
>>>>
>>>> org.apache.openejb.config.AutoConfig setNonJtaDataSource Adjusting
>>>> PersistenceUnit Auditing <non-jta-data-source> to Resource ID
>>>> 'Default Unmanaged JDBC Database' from 'null'
>>>>
>>>>
>>>>
>>>> How can I define a DataSource inside context.xml which is still JTA
>>>> managed? Or what is the correct way to migrate such a scenario?
>>>> Wrapping it in JTADataSourceWrapperFacory?
>>>>
>>>>
>>>>
>>>> Thanks in advance and best
>>>>
>>>> Fabian
>>>>
>>>>
>>>>
>>