[hibernate-dev] Error: registry contains more than one (2) entity manager factories: PERSISTENCE_UNIT_NAME
Teresa Batista Neto
teresa.batista.neto at gmail.com
Thu Jan 17 07:31:46 EST 2013
Hi Scott,
Just to let you know that I added the username and timestamp and that now
everything is ok. I don't have anymore this issue. However I still have the
other problems. I sent a mail for each of them to the mailing list (timeout
and hibernate core close session issue). I hope that any of you can help me
with those issues.
Thanks for your help.
Best Regards,
Teresa
On Wed, Jan 9, 2013 at 11:45 AM, Teresa Batista Neto <
teresa.batista.neto at gmail.com> wrote:
> 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 at 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/private/cmmoyaouedgrbgpat88fxw><
>>> http://pastie.org/5647726>
>>>
>>>
>>> Thanks in advance,
>>> Teresa
>>>
>>>
>>> On Thu, Dec 20, 2012 at 3:38 PM, Scott Marlow <smarlow at redhat.com
>>> <mailto:smarlow at 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.com/__xml/ns/persistence>
>>> <http://java.sun.com/xml/ns/**persistence<http://java.sun.com/xml/ns/persistence>
>>> >"
>>> xmlns:xsi="http://www.w3.org/_**_2001/XMLSchema-instance<http://www.w3.org/__2001/XMLSchema-instance>
>>> <http://www.w3.org/2001/**XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
>>> >"
>>>
>>> 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/persistence>
>>> >
>>> 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://java.sun.com/xml/ns/persistence/persistence_1_0.xsd>
>>> >">
>>>
>>> <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 at lists.jboss.org <mailto:hibernate-dev at lists.**
>>> jboss.org <hibernate-dev at lists.jboss.org>>
>>> https://lists.jboss.org/__**mailman/listinfo/hibernate-dev<https://lists.jboss.org/__mailman/listinfo/hibernate-dev>
>>> <https://lists.jboss.org/**mailman/listinfo/hibernate-dev<https://lists.jboss.org/mailman/listinfo/hibernate-dev>
>>> **>
>>>
>>>
>>>
>>>
>>
>
More information about the hibernate-dev
mailing list