Hi Scott,
Thanks a lot for your help. I'm going to try what you suggest. I'm also
going to add the timestamp to avoid problems such as if users connect at
sometime using different browsers ("newt" + username + timestamp). I will
let you know later if these changes fix the problem.
We also have another application that only uses hibernate core that I also
upgraded from 3.6.1 to 4.1.8 and the duplicate entity factory problem
doesn't seems to happen. Is it normal?
When using only hibernate core 4.x my oracle sessions are never closed even
after I close SessionFactory and I don't understand why. This problem
doesn't happen in any of the 3.6.x versions. I already wrote to the mailing
list but I still didn't get any feedback. The email subject is "Problem
closing oracle session with hibernate 4.1.8". Do you have any idea of what
can be the problem?
Best regards,
Teresa
On Tue, Jan 8, 2013 at 4:01 PM, Scott Marlow <smarlow(a)redhat.com> wrote:
Teresa,
I made a code change in Hibernate 4.x that impacts
serialization/deserialization of EntityManagerFactories. My code change
helps Hibernate to work correctly in clustered environments (HHH-6897) but
it looks like my change also broke your application. In a clustered
environment, each entity manager factory will have a unique name.
In your application, could you try setting
"hibernate.ejb.entitymanager_**factory_name"
to a unique name? Perhaps you could try setting it to:
"newt" + username
Scott
On 01/08/2013 08:03 AM, Teresa Batista Neto wrote:
> Hello,
>
> I just copy/past the exception call stack from when the "registry
> contains more than one" error is thrown. The link is:
>
http://pastie.org/private/**cmmoyaouedgrbgpat88fxw<http://pastie.org/p...
>
http://pastie.org/5647726>
>
>
> Thanks in advance,
> Teresa
>
>
> On Thu, Dec 20, 2012 at 3:38 PM, Scott Marlow <smarlow(a)redhat.com
> <mailto:smarlow@redhat.com>> wrote:
>
> I would like to see the exception call stack from when the "registry
> contains more than one" error is thrown. You can copy it to a
> website like
pastie.org <
http://pastie.org> or
pastebin.com
> <
http://pastebin.com> and paste the link here.
>
>
> Scott
>
> On 12/20/2012 05:38 AM, Teresa Batista Neto wrote:
>
> Dear all,
>
> After upgrading JPA from 3.6.1 to 4.1.8 I start getting the
> following error:
>
> "Error: registry contains more than one (2) entity manager
> factories:
> PERSISTENCE_UNIT_NAME"
>
> Below you can find a brief summary of our specification
> requirements.
>
> - User logins in the web application using their own oracle
> database
> account.
> - The web application only needs to access one database schema;
> - The access rights are managed using oracle roles and grant
> privilegies.
> - Only one database schema and multiple user oracle accounts.
> - We only set the username and password when users tries to
> login in the
> web application.
> - The EntityManagerFactory is created using the username and
> password of
> the user.
>
> - Because our web application only access one database we only
> use one
> persistence unit name.
>
>
> E.g. persistence.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence version="1.0"
>
xmlns="http://java.sun.com/__**xml/ns/persistence<http://java.sun...
>
<
http://java.sun.com/xml/ns/**persistence<http://java.sun.com/xml/ns/pe...
> >"
>
xmlns:xsi="http://www.w3.org/_**_2001/XMLSchema-instance<http://w...
>
<
http://www.w3.org/2001/**XMLSchema-instance<http://www.w3.org/2001/XML...
> >"
>
>
xsi:schemaLocation="http://__j**ava.sun.com/xml/ns/__**
> persistence <
http://java.sun.com/xml/ns/__persistence>
>
<
http://java.sun.com/xml/ns/**persistence<http://java.sun.com/xml/ns/pe...
> >
>
http://java.sun.com/xml/ns/__**persistence/persistence_1_0.__**
> xsd <
http://java.sun.com/xml/ns/__persistence/persistence_1_0.__xsd>
>
>
<
http://java.sun.com/xml/ns/**persistence/persistence_1_0.**xsd<http://...
> >">
>
> <persistence-unit name="PERSISTENCE_UNIT_NAME">
>
> <provider>org.hibernate.ejb.__**HibernatePersistence</__**
> provider>
>
> <properties>
> <property name="hibernate.connection.__**driver_class"
> value="oracle.jdbc.
> OracleDriver">
> <property name="hibernate.connection.__**url"
>
> value="jdbc:oracle:xx...">
> <property name="hibernate.dialect"
> value="org.hibernate.dialect.
> Oracle10gDialect">
> <property name="hibernate.default___**schema"
> value="SCHEMA_NAME">
>
> <property name="hibernate.connection.__**username"
> value="USERNAME">
> <property name="hibernate.connection.__**password"
> value="PASSWORD">
>
> <property name="hibernate.connection.__**autocommit"
>
> value="false">
> <property name="hbm2ddl.auto"
value="validate">
>
> <property name="hibernate.show_sql"
value="true">
> <property name="hibernate.format_sql"
value="true">
> </properties>
> </persistence-unit>
> </persistence>
>
>
> E.g. how we create and close the entity manager factory
>
> Map<String, String> configuration = new ProviderConfiguration();
> configuration.put("hibernate._**_connection.username", username);
> configuration.put("hibernate._**_connection.password", password);
> EntityManagerFactory emf =
> Persistence.__**createEntityManagerFactory("__**
> PERSISTENCE_UNIT_NAME",
>
> configuration);
> EntityManager em = emf.createEntityManager();
> SptrTaxNode t = em.find(SptrTaxNode.class, 9606);
> em.close();
> emf.close();
>
> Does anyone ever had a similar situation? Any ideas on how can I
> solve this
> problem?
>
> Thanks in advance,
> Teresa
> ______________________________**___________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org <mailto:hibernate-dev@lists.**
>
jboss.org <hibernate-dev(a)lists.jboss.org>>
>
https://lists.jboss.org/__**mailman/listinfo/hibernate-dev<https://lis...
>
<
https://lists.jboss.org/**mailman/listinfo/hibernate-dev<https://lists...
> **>
>
>
>
>