Author: not
Date: Sat Aug 6 12:11:12 2011
New Revision: 1154501
URL: http://svn.apache.org/viewvc?rev=1154501&view=rev
Log:
ARIES-467 NLS enable the exception and log messages for the jpa container
context bundle
Added:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java
(with props)
aries/trunk/jpa/jpa-container-context/src/main/resources/org/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties
(with props)
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManager.java
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAPersistenceContextRegistry.java
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java?rev=1154501&r1=1154500&r2=1154501&view=diff
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
(original)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
Sat Aug 6 12:11:12 2011
@@ -82,9 +82,7 @@ public class GlobalPersistenceManager im
}
if(!!!registry.jtaIntegrationAvailable())
- _logger.warn("No JTA integration is currently available. The managed
persistence context {} used by the bundle {} will operate " +
- "with no transaction context and be read only until a JTA
Transaction Services implementation is available in" +
- "the runtime", new Object[] {unitName, client.getSymbolicName()
+ "_" + client.getVersion()});
+ _logger.warn(NLS.MESSAGES.getMessage("no.tran.manager.for.bundle",
unitName, client.getSymbolicName(), client.getVersion()));
//Find the framework for this bundle (we may be in a composite)
Bundle frameworkBundle = client.getBundleContext().getBundle(0);
@@ -150,7 +148,7 @@ public class GlobalPersistenceManager im
manager = managers.get(frameworkBundle);
if (manager == null) {
- _logger.error("There was no context manager for framework {}.
This should never happen");
+
_logger.error(NLS.MESSAGES.getMessage("no.context.manager.for.framework",
frameworkBundle.getSymbolicName(), frameworkBundle.getVersion()));
throw new IllegalStateException();
}
} else if (managers.containsKey(bundle)) {
@@ -250,7 +248,7 @@ public class GlobalPersistenceManager im
quiesceReg = context.registerService(QUIESCE_PARTICIPANT_CLASS,
quiesceTidyUp, null);
} catch (ClassNotFoundException e) {
- _logger.info("No quiesce support is available, so persistence contexts
will not participate in quiesce operations");
+ _logger.info(NLS.MESSAGES.getMessage("quiesce.manager.not.there"));
}
}
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java?rev=1154501&r1=1154500&r2=1154501&view=diff
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
(original)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
Sat Aug 6 12:11:12 2011
@@ -91,7 +91,7 @@ public class ManagedPersistenceContextFa
if(type == PersistenceContextType.TRANSACTION || type == null)
return new JTAEntityManager(factory, properties, registry, activeCount,
this);
else {
- _logger.error("There is currently no support for extended scope
EntityManagers");
+ _logger.error(NLS.MESSAGES.getMessage("extended.em.not.supported"));
return null;
}
Added:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java?rev=1154501&view=auto
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java
(added)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java
Sat Aug 6 12:11:12 2011
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIESOR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.jpa.container.context.impl;
+
+import org.apache.aries.util.nls.MessageUtil;
+
+public class NLS
+{
+ public static final MessageUtil MESSAGES =
MessageUtil.createMessageUtil(NLS.class,
"org.apache.aries.jpa.container.context.nls.jpaContainerContextMessages");
+}
\ No newline at end of file
Propchange:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/NLS.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java?rev=1154501&r1=1154500&r2=1154501&view=diff
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
(original)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
Sat Aug 6 12:11:12 2011
@@ -62,15 +62,15 @@ public class PersistenceContextManager e
private static final Filter filter;
static {
Filter f = null;
+ String filterString = "(&(" + Constants.OBJECTCLASS + "=" +
"javax.persistence.EntityManagerFactory" + ")(" +
+
PersistenceUnitConstants.CONTAINER_MANAGED_PERSISTENCE_UNIT + "=true)(!(" +
+ PersistenceContextProvider.PROXY_FACTORY_EMF_ATTRIBUTE +
"=*)))";
try {
//Create a filter to select container managed persistence units that
//are not proxies for managed persistence contexts
- f = FrameworkUtil.createFilter("(&(" + Constants.OBJECTCLASS
- + "=" + "javax.persistence.EntityManagerFactory" + ")(" +
- PersistenceUnitConstants.CONTAINER_MANAGED_PERSISTENCE_UNIT +
"=true)(!("
- + PersistenceContextProvider.PROXY_FACTORY_EMF_ATTRIBUTE + "=*)))" );
+ f = FrameworkUtil.createFilter(filterString);
} catch (InvalidSyntaxException e) {
- _logger.error("There was an exception creating the EntityManagerFactory
filter. This should never happen.", e);
+ _logger.error(NLS.MESSAGES.getMessage("emf.filter.invalid",
filterString), e);
throw new RuntimeException(e);
}
filter = f;
@@ -125,8 +125,7 @@ public class PersistenceContextManager e
//If we already track a unit with the same name then we are in trouble!
//only one unit with a given name should exist at a single scope
if(persistenceUnits.containsKey(unitName)) {
- _logger.warn("The persistence unit {} exists twice at the same
framework scope. " +
- "The second service will be ignored", new Object[]
{reference});
+ _logger.warn(NLS.MESSAGES.getMessage("pu.registered.multiple.times",
reference));
return null;
}
//If this is a new unit, then add it, and check whether we have any
waiting
@@ -188,8 +187,8 @@ public class PersistenceContextManager e
oldProps = persistenceContextDefinitions.put(name, properties);
if(oldProps != null) {
if(!!!oldProps.equals(properties)) {
- _logger.warn("The bundle {} depends on a managed persistence context
{} with properties {}, but the context already exists with properties {}. The
existing properties will be used.",
- new Object[] {client.getSymbolicName() + "_" + client.getVersion(),
name, properties, oldProps});
+
_logger.warn(NLS.MESSAGES.getMessage("persistence.context.exists.multiple.times",
client.getSymbolicName(),
+ client.getVersion(), name, properties, oldProps));
persistenceContextDefinitions.put(name, oldProps);
}
}
@@ -264,8 +263,7 @@ public class PersistenceContextManager e
//If either of these things is undefined then the context cannot be
registered
if(props == null || unit == null) {
- _logger.error("The managed persistence context {} cannot be
registered for persistence unit {} and properties {}.",
- new Object[] {name, unit, props});
+ _logger.error(NLS.MESSAGES.getMessage("null.pu.or.props", name,
unit, props));
//The finally block will clear the entityManagerRegistrations key
return;
}
@@ -305,8 +303,7 @@ public class PersistenceContextManager e
//Else we were in a potential live-lock and the service could not
be unregistered
//earlier. This means we have to do it (but outside the
synchronized. Make sure we
//also remove the registration key!
- _logger.warn("Recovering from a potential live-lock registering a
container managed peristence context for persistence unit {}.",
- new Object[] {name});
+ _logger.warn(NLS.MESSAGES.getMessage("possible.livelock.recovery",
name));
entityManagerRegistrations.remove(name);
recoverFromLiveLock = true;
}
@@ -364,7 +361,7 @@ public class PersistenceContextManager e
try {
this.wait(500);
} catch (InterruptedException e) {
- _logger.warn("The Aries JPA container was interrupted when waiting
for managed persistence context {} to be unregistered", new Object[]
{unitName});
+
_logger.warn(NLS.MESSAGES.getMessage("interruption.waiting.for.pu.unregister",
unitName));
}
//Increment the loop to prevent us from live-locking
tries++;
@@ -375,8 +372,7 @@ public class PersistenceContextManager e
if(!found) {
//Possible Live lock, just remove the key
entityManagerRegistrations.remove(unitName);
- _logger.warn("The JPA container detected a possible live lock whilst
unregistering the managed persistence context {}. The service cannot be
unregistered immediately so the context may become unusable before being
unregistered.",
- new Object[] {unitName});
+ _logger.warn(NLS.MESSAGES.getMessage("possible.livelock.detected",
unitName));
}
}
//If we found the registration then unregister it outside the synchronized.
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManager.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManager.java?rev=1154501&r1=1154500&r2=1154501&view=diff
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManager.java
(original)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManager.java
Sat Aug 6 12:11:12 2011
@@ -33,6 +33,7 @@ import javax.persistence.criteria.Criter
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.metamodel.Metamodel;
+import org.apache.aries.jpa.container.context.impl.NLS;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -128,8 +129,7 @@ public class JTAEntityManager implements
public void close()
{
- //TODO add a message here
- throw new IllegalStateException("It is forbidden to call close on a
container managed EntityManager");
+ throw new
IllegalStateException(NLS.MESSAGES.getMessage("close.called.on.container.manged.em"));
}
public boolean contains(Object arg0)
@@ -241,7 +241,7 @@ public class JTAEntityManager implements
public EntityTransaction getTransaction()
{
- throw new IllegalStateException("Transaction management is not available
for container managed EntityManagers");
+ throw new
IllegalStateException(NLS.MESSAGES.getMessage("getTransaction.called.on.container.managed.em"));
}
public boolean isOpen()
Modified:
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAPersistenceContextRegistry.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAPersistenceContextRegistry.java?rev=1154501&r1=1154500&r2=1154501&view=diff
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAPersistenceContextRegistry.java
(original)
+++
aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAPersistenceContextRegistry.java
Sat Aug 6 12:11:12 2011
@@ -29,6 +29,7 @@ import javax.persistence.TransactionRequ
import javax.transaction.Synchronization;
import javax.transaction.TransactionSynchronizationRegistry;
+import org.apache.aries.jpa.container.context.impl.NLS;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.util.tracker.ServiceTracker;
@@ -100,10 +101,9 @@ public final class JTAPersistenceContext
//Throw the error on to the client
if(!!!isTransactionActive()) {
if(jtaIntegrationAvailable())
- throw new TransactionRequiredException("No transaction currently
active");
+ throw new
TransactionRequiredException(NLS.MESSAGES.getMessage("no.active.transaction"));
else {
- throw new TransactionRequiredException("No JTA transaction services
implementation is currently available. As a result the" +
- " JPA container cannot integrate with JTA
transactions.");
+ throw new
TransactionRequiredException(NLS.MESSAGES.getMessage("no.transaction.manager"));
}
}
EntityManager toReturn = null;
@@ -121,8 +121,9 @@ public final class JTAPersistenceContext
try {
tsr.putResource(EMF_MAP_KEY, contextsForTransaction);
} catch (IllegalStateException e) {
- _logger.warn("Unable to create a persistence context for the
transaction {} because the is not active", new Object[]
{tsr.getTransactionKey()});
- throw new TransactionRequiredException("Unable to assiociate resources
with transaction " + tsr.getTransactionKey());
+ String message = NLS.MESSAGES.getMessage("tran.not.active",
tsr.getTransactionKey());
+ _logger.warn(message);
+ throw new TransactionRequiredException(message);
}
}
@@ -134,9 +135,10 @@ public final class JTAPersistenceContext
try {
tsr.registerInterposedSynchronization(new
EntityManagerClearUp(toReturn, activeCount, cbk));
} catch (IllegalStateException e) {
- _logger.warn("No persistence context could be created as the JPA
container could not register a synchronization with the transaction {}.", new
Object[] {tsr.getTransactionKey()});
+ String message =
NLS.MESSAGES.getMessage("unable.to.register.synchronization",
tsr.getTransactionKey());
+ _logger.warn(message);
toReturn.close();
- throw new TransactionRequiredException("Unable to synchronize with
transaction " + tsr.getTransactionKey());
+ throw new TransactionRequiredException(message);
}
contextsForTransaction.put(persistenceUnit, toReturn);
activeCount.incrementAndGet();
@@ -180,16 +182,12 @@ public final class JTAPersistenceContext
TransactionSynchronizationRegistry tsr =
(TransactionSynchronizationRegistry) context.getService(ref);
if(tsr != null) {
if(tranRegistry.compareAndSet(null, tsr)) {
- _logger.info("A TransactionSynchronizationRegistry service is now
available in the runtime. Managed persistence contexts will now" +
- "integrate with JTA transactions using {}.", new Object[] {ref});
+ _logger.info(NLS.MESSAGES.getMessage("tran.sync.registry.arrived",
ref));
}
else
{
tranRegistry.set(tsr);
- _logger.warn("The TransactionSynchronizationRegistry used to manage
persistence contexts has been replaced." +
- " The new TransactionSynchronizationRegistry, {}, will now be
used to manage persistence contexts." +
- " Managed persistence contexts may not work correctly unless the
runtime uses the new JTA Transaction services implementation" +
- " to manage transactions.", new Object[] {ref});
+ _logger.warn(NLS.MESSAGES.getMessage("tran.sync.registry.replace",
ref));
}
} else {
tranRegistryRef.compareAndSet(ref, null);
@@ -222,18 +220,11 @@ public final class JTAPersistenceContext
tranRegistryRef.set(null);
tranRegistry.compareAndSet(old, null);
- _logger.warn("The TransactionSynchronizationRegistry used to manage
persistence contexts is no longer available." +
- " Managed persistence contexts will no longer be able to integrate
with JTA transactions, and will behave as if" +
- " no there is no transaction context at all times until a new
TransactionSynchronizationRegistry is available." +
- " Applications using managed persistence contexts may not work
correctly until a new JTA Transaction services" +
- " implementation is available.");
+ _logger.warn(NLS.MESSAGES.getMessage("tran.sync.registry.gone"));
} else {
tranRegistryRef.set(chosenRef);
tranRegistry.set(replacement);
- _logger.warn("The TransactionSynchronizationRegistry used to manage
persistence contexts has been replaced." +
- " The new TransactionSynchronizationRegistry, {}, will now be used
to manage persistence contexts." +
- " Managed persistence contexts may not work correctly unless the
runtime uses the new JTA Transaction services implementation" +
- " to manage transactions.", new Object[] {chosenRef});
+ _logger.warn(NLS.MESSAGES.getMessage("tran.sync.registry.replace",
chosenRef));
}
context.ungetService(reference);
//If there was no replacement before, check again. This closes the short
window if
@@ -288,10 +279,10 @@ public final class JTAPersistenceContext
activeCount.decrementAndGet();
callback.callback();
} finally {
- try{
- context.close();
+ try{
+ context.close();
} catch (Exception e) {
- _logger.warn("There was an error when the container closed an
EntityManager", context);
+ _logger.warn(NLS.MESSAGES.getMessage("error.closing.entity.manager",
context.getProperties()), e);
}
}
}
Added:
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties?rev=1154501&view=auto
==============================================================================
---
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties
(added)
+++
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties
Sat Aug 6 12:11:12 2011
@@ -0,0 +1,82 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+close.called.on.container.manged.em=It is forbidden to call close on a
container managed EntityManager.
+getTransaction.called.on.container.managed.em=Transaction management is not
available for container managed EntityManagers.
+no.active.transaction=There is no currently active transaction.
+no.transaction.manager=No JTA transaction services implementation is currently
available. As a result the JPA container \
+ cannot integrate with JTA transactions.
+# {0} The transaction on the thread.
+tran.not.active=Unable to create a persistence context for the transaction {0}
because the is not active.
+# {0} The transaction on the thread.
+unable.to.register.synchronization=No persistence context could be created as
the JPA container could not register a \
+ synchronization with the transaction {0}.
+# {0} The service reference of the tran sync registry.
+tran.sync.registry.arrived=A TransactionSynchronizationRegistry service is now
available in the runtime. Managed \
+ persistence contexts will now integrate with JTA transactions using {0}.
+# {0} The service reference of the tran sync registry.
+tran.sync.registry.replace=The TransactionSynchronizationRegistry used to
manage persistence contexts has been replaced. \
+ The new TransactionSynchronizationRegistry, {0}, will now be used to manage
persistence contexts. Managed persistence \
+ contexts may not work correctly unless the runtime uses the new JTA
Transaction services implementation to manage transactions.
+tran.sync.registry.gone=The TransactionSynchronizationRegistry used to manage
persistence contexts is no longer available. \
+ Managed persistence contexts will no longer be able to integrate with JTA
transactions, and will behave as if no there \
+ is no transaction context at all times until a new
TransactionSynchronizationRegistry is available. Applications using \
+ managed persistence contexts may not work correctly until a new JTA
Transaction services implementation is available.
+# {0} The entity manager properties.
+error.closing.entity.manager=There was an error when the container closed an
EntityManager with the properties {0}.
+# {0} The persistence context
+# {1} The bundle symbolic name
+# {2} the bundle version
+no.tran.manager.for.bundle=No JTA integration is currently available. The
managed persistence context {0} used by the \
+ bundle {1}/{2} will operate with no transaction context and be read only
until a JTA Transaction Services implementation \
+ is available in the runtime.
+# {0} The bundle symbolic name
+# {1} the bundle version
+no.context.manager.for.framework=An unexpected condition was hit. There was no
context manager for framework {0}/{1}. This \
+ should never happen.
+quiesce.manager.not.there=No quiesce support is available, so managed
persistence units will not participate in quiesce operations.
+extended.em.not.supported=Extended scope EntityManagers are not supported.
+# {0} The EMF filter
+emf.filter.invalid=An unexpected condition was hit. The generated filter for
the EntityManagerFactory {0} was invalid. This \
+ should never happen.
+# {0} The PU service
+pu.registered.multiple.times=The persistence unit {0} has been registered
again at the same framework scope. The persistence \
+ unit {0} will be ignored.
+# {0} The bundle symbolic name
+# {1} The bundle version
+# {2} The persistence context
+# {3} The persistence context properties
+# {4} The properties of the existing context.
+persistence.context.exists.multiple.times=The bundle {0}/{1} depends on a
managed persistence context {2} with properties {3}, \
+ but the context already exists with properties {4}. The existing properties
will be used.
+# {0} The persistence unit name
+# {1} The persistence context
+# {2} The properties
+null.pu.or.props=The managed persistence context {0} cannot be registered for
persistence unit {1} and properties {2}
+# {0} The persistence unit name
+possible.livelock.recovery=Recovering from a potential live-lock registering a
container managed peristence context for persistence \
+ unit {0}.
+# {0} The persistence unit name
+interruption.waiting.for.pu.unregister=The Aries JPA container was interrupted
when waiting for managed persistence context {0} to \
+ be unregistered.
+# {0} The persistence unit name
+possible.livelock.detected=The JPA container detected a possible live lock
whilst unregistering the managed persistence context {0}. \
+ The service cannot be unregistered immediately so the context may become
unusable before being unregistered.
+
+
Propchange:
aries/trunk/jpa/jpa-container-context/src/main/resources/org/apache/aries/jpa/container/context/nls/jpaContainerContextMessages.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain