Prezados.
Estou com problema em fazer as conexões JNDI dos EJB’s do meu sistema
Ele estava em Dev/prod em um ambiente WebLogic 12c, tive que migrar para um Ambiente JBOSS 7.1.1
e estou me deparando com o erro na hopra de fazer o lookup dos JNDI’s
arquivo jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
root cause
13:25:42,456 Advertência [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-1) javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory org.jnp.interfaces.NamingContextFactory from classloader ModuleClassLoader for Module "deployment.GvtWebPortalCorpEAR.ear.GvtWebPortalCorpWeb.war:main" from Service Module Loader: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory org.jnp.interfaces.NamingContextFactory from classloader ModuleClassLoader for Module "deployment.GvtWebPortalCorpEAR.ear.GvtWebPortalCorpWeb.war:main" from Service Module Loader
at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) [rt.jar:1.7.0_05]
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) [rt.jar:1.7.0_05]
at javax.naming.InitialContext.init(Unknown Source) [rt.jar:1.7.0_05]
at javax.naming.InitialContext.<init>(Unknown Source) [rt.jar:1.7.0_05]
at com.sun.faces.config.WebConfiguration.processJndiEntries(WebConfiguration.java:687) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.config.WebConfiguration.<init>(WebConfiguration.java:134) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.config.WebConfiguration.getInstance(WebConfiguration.java:194) [jsf-impl-2.1.7-jbossorg-2.jar:]
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:163) [jsf-impl-2.1.7-jbossorg-2.jar:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_05]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_05]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_05]
tenho uma classe generica “ServiceLocator” para fazer isso pra mim de uma forma mais simples
ServiceLocator.java
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class ServiceLocator implements java.io.Serializable {
private static final long serialVersionUID = 25777611630111L;
private Properties environment = new Properties();
public ServiceLocator()
{
environment.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
}
public void setJndiTemplate(Properties props) {
this.environment = props;
}
protected Context createInitialContext() throws NamingException {
return new InitialContext();
}
@SuppressWarnings("unchecked")
public <T> T lookup(Class<T> intf, String jndiName)
{
String jndiLookup = jndiName.concat("#").concat(intf.getCanonicalName());
try
{
Context ctx = createInitialContext();
try {
return (T) ctx.lookup(jndiLookup);
}
finally {
releaseContext(ctx);
}
}
catch (NamingException e)
{
e.printStackTrace();
}
return null;
}
public void releaseContext(Context ctx) {
if (ctx == null)
return;
try
{
ctx.close();
}
catch (NamingException ex)
{
ex.printStackTrace();
}
}
}
como uso o jndi.properties nao estou passando os parms. do env. para o new InitialContext();
alguem ja passou por isso?
qualquer ajuda é bem vinda.
abs