On Mar 30, 2008, at 2:58 PM, Andrey Tedeev wrote:
oops. It was deploying only because I accidentally put it into WEB-INF
instead of META-INF.
So persistence unit was not just found. As soon as i put it in
right place
META-INF/persistence.xml
it will produce same error Unable to resolve reference
"JtaDataSourceWrapper".
So this way doesn't work either.
I didn't think it would :-)
In geronimo the jta-datasource and non-jta-datasource don't have
anything to do with jndi, so a resource-ref element won't help
resolve them. They directly relate to the name in the datasource plan.
So with your resource ref element I think you have some datasources
named
jdbc-jta-AAF
jdbc-non-jta-AAF
Your persistence.xml (in META-INF) ought to work if it contains these
names:
<jta-data-source>jdbc-jta-AAF</jta-data-source
<non-jta-data-source> jdbc-non-jta-AAF </non-jta-data-source>
You don't need the resource-ref elements at all for the jpa stuff.
Hope this gets it working :-)
david jencks
Andrey Tedeev wrote:
OK. I have found a WORKING solution (at least application deploys
without
any errors)
I cut persistence block from geronimo-web.xml and paste it into
WEB-INF/persistence.xml
It looks not like this (interested parts in bold)
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/
persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="equipment-pu">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</
provider>
<jta-data-source>jdbc-jta-ds</jta-data-source>
<non-jta-data-source>jdbc-non-jta-ds</non-jta-data-source>
<!-- ssi.api.jpa.company -->
<class>ssi.api.jpa.company.Description</class>
<class>ssi.api.jpa.company.Equipment</class>
<class>ssi.api.jpa.company.EquipmentMaintanence</class>
<class>ssi.api.jpa.company.EquipmentMaintanenceType</class>
<class>ssi.api.jpa.company.EquipmentType</class>
<properties>
<property name="openjpa.Log" value="DefaultLevel=TRACE,
Tool=TRACE,
SQL=INFO"/>
<property name="openjpa.jdbc.DBDictionary"
value="ssi.api.jpa.AS400Dictionary"/>
</properties>
</persistence-unit>
</persistence>
Then in geronimo-web.xml I have this references :
<nam:resource-ref
xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2">
<nam:ref-name>jdbc-jta-ds</nam:ref-name>
<nam:resource-link>jdbc-jta-AAF</nam:resource-link>
</nam:resource-ref>
<nam:resource-ref
xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2">
<nam:ref-name>jdbc-non-jta-ds</nam:ref-name>
<nam:resource-link>jdbc-non-jta-AAF</nam:resource-link>
</nam:resource-ref>
Now it seems to be deploying. though i did not test real work yet
using
@PersistenceContext
I hope it will be helpfull to guys having same problem as
http://www.nabble.com/Problem-with-persistence.xml-%28how-to-use-
data-source-%29-td16380414s134.html
Really that was the point where i went to inserting persistence
unit into
geronimo-web.xml
djencks wrote:
I don't have time to explain in detail right now but you may be able
to use the "datasource-switching" idea as in the roller plugin to
use
the same persistence.xml for everyone and a different separately
deployed datasource.
more later
david jencks
On Mar 30, 2008, at 11:18 AM, Andrey Tedeev wrote:
Thanks for reply. G-mo 2.1 is used. Unfortunately I have to put
persistence
unit into geronimo-web.xml . In our company each customer has their
own
schema on AS400 becasue
of security issues. So I have bunch of different datasources
pointing to
appropriate schema.
Layout of database is the same in each case. I tried to use
resource-ref but
geronimo returnserror about JTA datasource like in this post:
http://www.nabble.com/Problem-with-persistence.xml-%28how-to-use-
data-source-%29-td16380414s134.html
djencks wrote:
This is definitely a bug in geronimo that we need to fix before
the
next release. Can you tell us which geronimo version you are
using?
There's a slight chance it has been fixed already and I've
forgotten
about it.
As a workaround I think you can just include all the persistence
information in a persistence.xml file at an appropriate
location in
your app.
BTW, you need different datasources for jta-datasource and non-
jta-
datasource. The jta-datasource should have <local-transaction/
> or
<xa-transaction><transaction-caching/></xa-transaction> and the
non-
jta-datasource should have <no-transaction/>
I can't get derby to work without 2 datasources. I don't know
about
other databases, but using the same transactional datasource
for non-
jta-datasource is almost certain to lead to trouble.
Can you suggest some way of documenting this so people are
likely to
find it? Maybe we should refuse to accept the same datasource for
both....
thanks
david jencks
On Mar 30, 2008, at 12:57 AM, Andrey Tedeev wrote:
Also I need to add that same xml works just fine if I do one
of the
following:
1. Delete part describing security -realm and security
but leave resource-ref and jpa alone
2. Delete resourse-ref and jpa declaration but leave security
alone.
So problem rises when I try to use all of those together.
--
View this message in context: http://www.nabble.com/complex-
geronimo-web.xml-problem-tp16379211s134p16379399.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.
--
View this message in context: http://www.nabble.com/complex-
geronimo-web.xml-problem-tp16379211s134p16385215.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.
--
View this message in context: http://www.nabble.com/complex-
geronimo-web.xml-problem-tp16379211s134p16388126.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.