Trunk seems to have an issue with this in the test
XADataSourceDefinitionTest

Want to have a look?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2017-06-16 20:46 GMT+02:00 Romain Manni-Bucau <[email protected]>:

> applied, thanks!
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://blog-rmannibucau.rhcloud.com> | Old Blog
> <http://rmannibucau.wordpress.com> | Github
> <https://github.com/rmannibucau> | LinkedIn
> <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
> <https://javaeefactory-rmannibucau.rhcloud.com>
>
> 2017-06-16 20:33 GMT+02:00 Svetlin Zarev <[email protected]>
> :
>
>> I've fixed the license headers. Here is the PR:
>> https://github.com/apache/tomee/pull/73
>>
>> I didn't check JMS, only WepProfile specs.
>>
>> 2017-06-16 21:01 GMT+03:00 Romain Manni-Bucau <[email protected]>:
>>
>> > This looks good, while the merge deployer still makes available the
>> > resource to comp it works :)
>> >
>> > Think you need to fix details on your PR like headers etc but looks ok
>> to
>> > merge once the build pass.
>> >
>> > Side note: by curiosity, did you check jms resource as well? it should
>> be
>> > close ot datasources.
>> >
>> >
>> > Romain Manni-Bucau
>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> > <https://blog-rmannibucau.rhcloud.com> | Old Blog
>> > <http://rmannibucau.wordpress.com> | Github <https://github.com/
>> > rmannibucau> |
>> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
>> > <https://javaeefactory-rmannibucau.rhcloud.com>
>> >
>> > 2017-06-16 19:56 GMT+02:00 Svetlin Zarev <[email protected]
>> om
>> > >:
>> >
>> > > I'm back with tests:) :
>> > > https://github.com/apache/tomee/compare/master...
>> > > SvetlinZarev:ds_def?expand=1
>> > >
>> > > Unless I misunderstood you, it seems that DS injection in servlet
>> works
>> > > after the fix and does not before it (well, it injects it, but with
>> wrong
>> > > config).
>> > > The reason it works is that the ConvertDataSourceDefinitions deployer
>> > only
>> > > processes the DataSource definitions by converting them to Resource
>> > objects
>> > > which are not associated with specific component, and since the
>> > > CompManagedBean does not have its own, unique definitions, if we
>> exclude
>> > it
>> > > from processing in that specific deployer we won't lose anything,
>> because
>> > > data sources with the same IDs ( and with correct config !) will be
>> > pulled
>> > > from the JndiConsumers that actually provide them.
>> > >
>> > > So to summarize, the flow before the proposed fix is:
>> > > 1. Collect all JndiConsumers
>> > > 2. MyBean -> provide DataSource with correct config
>> > > 3. CompManagedBean -> overwrite MyBean's datasource, with one with bad
>> > > config
>> > > 4. We end up with one resource with bad config
>> > >
>> > > And after the fix it becomes:
>> > > 1. Collect all JndiConsumers
>> > > 2. MyBean -> provide DataSource with correct config
>> > > 3. We end up with one resource with good config
>> > >
>> > > I hope I don't miss anything :) May you give more details about your
>> > idea ?
>> > >
>> > > Kind regards,
>> > > Svetlin
>> > >
>> > >
>> > > 2017-06-16 16:32 GMT+03:00 Romain Manni-Bucau <[email protected]
>> >:
>> > >
>> > > > Hmm, if you inject such a datasource in a servlet does it work?
>> Don't
>> > > think
>> > > > so - tests are the thing to start with when editing this code,
>> saying
>> > > that
>> > > > by experience if you get me ;).
>> > > >
>> > > > So concretely testing the type like that is good but it shouldn't
>> break
>> > > web
>> > > > component injections.
>> > > >
>> > > >
>> > > > Romain Manni-Bucau
>> > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> > > > <https://blog-rmannibucau.rhcloud.com> | Old Blog
>> > > > <http://rmannibucau.wordpress.com> | Github <https://github.com/
>> > > > rmannibucau> |
>> > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
>> > > > <https://javaeefactory-rmannibucau.rhcloud.com>
>> > > >
>> > > > 2017-06-16 15:27 GMT+02:00 Svetlin Zarev
>> <svetlin.angelov.zarev@gmail.
>> > > com
>> > > > >:
>> > > >
>> > > > > Hi,
>> > > > >
>> > > > > I was thinking about something like
>> > > > > https://github.com/SvetlinZarev/tomee/commit/
>> > > > > 067fd220e909e89a8c17d90122b0e2158468ece4
>> > > > >
>> > > > > What do you think ? Is there a more appropriate place to check for
>> > it ?
>> > > > > If it's OK, I can make PR with the fix  + tests.
>> > > > >
>> > > > > Thanks,
>> > > > > Svetlin
>> > > > >
>> > > > >
>> > > > > 2017-06-16 16:15 GMT+03:00 Romain Manni-Bucau <
>> [email protected]
>> > >:
>> > > > >
>> > > > > > Hi Svetlin
>> > > > > >
>> > > > > > this is a way to aggregate the webapp java:comp/env namespace
>> > without
>> > > > > > handling it too specifically in the code base - at least it
>> comes
>> > > from
>> > > > > that
>> > > > > > idea.
>> > > > > >
>> > > > > > We can add it in EjbJar and just skip it at deploy time (we do
>> > > > something
>> > > > > > similar already, don't recally exactly where but it is typed
>> enough
>> > > to
>> > > > > know
>> > > > > > it is the comp bean).
>> > > > > >
>> > > > > > Does it give you enough input to work on it or do you want some
>> > > > > particular
>> > > > > > code reference?
>> > > > > >
>> > > > > >
>> > > > > > Romain Manni-Bucau
>> > > > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> > > > > > <https://blog-rmannibucau.rhcloud.com> | Old Blog
>> > > > > > <http://rmannibucau.wordpress.com> | Github <
>> https://github.com/
>> > > > > > rmannibucau> |
>> > > > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE
>> > Factory
>> > > > > > <https://javaeefactory-rmannibucau.rhcloud.com>
>> > > > > >
>> > > > > > 2017-06-16 15:10 GMT+02:00 Svetlin Zarev
>> > > <svetlin.angelov.zarev@gmail.
>> > > > > com
>> > > > > > >:
>> > > > > >
>> > > > > > > Hi Everyone,
>> > > > > > >
>> > > > > > > What's the purpose of the org.apache.openejb.config.
>> > > CompManagedBean
>> > > > ?
>> > > > > > I'm
>> > > > > > > asking in the context of TOMEE-2053.
>> > > > > > >
>> > > > > > > I have a @DataSourceDefinition with some attributes which
>> should
>> > be
>> > > > > > > overrriden by ejb-jar.xml. Everithing works great, with the
>> sole
>> > > > > > exception
>> > > > > > > of CompManagedBean. It seems that it "aggregates" the
>> annotations
>> > > > from
>> > > > > > the
>> > > > > > > other beans, but as it's artificially added to the ejb-jar by
>> > > > openejb,
>> > > > > it
>> > > > > > > does not have an entry in the ejb-jar.xml. Hence when the
>> > > > > > > AnnotationDeployer processes the DataSourceDefinition
>> annotation,
>> > > if
>> > > > > > never
>> > > > > > > finds an exisitin datasource definition in the ejb-jar.xml for
>> > it.
>> > > > This
>> > > > > > in
>> > > > > > > turn makes the annotation deployer to add a datasource with
>> wrong
>> > > > > > > configuration to the AppModule's ejb-jar. So far so good, but
>> > > later,
>> > > > > the
>> > > > > > > ConvertDataSourceDefinitions deployer collects all datasources
>> > from
>> > > > all
>> > > > > > > JndiConsumers, so it collects the invalid definition as well
>> and
>> > > adds
>> > > > > it
>> > > > > > to
>> > > > > > > the AppModule's resources. And this breaks the application
>> > startup.
>> > > > > > >
>> > > > > > > Kind regards,
>> > > > > > > Svetlin
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Reply via email to