属性MySQL上下文

时间:2015-09-13 21:37:16

标签: mysql properties ejb

我正在学习教程javarevoltions JSF 2 + PrimeFaces 5 + 4 + Spring Hibernate 4。

Essse教程基于weblogic服务器和Oracle数据库。

我的问题是我想使用带有MySQL的glassfish。

有一个名为utilidades.java的文件,其中包含webologic属性。

import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;

public class Utilities {
    public static Object getEJBRemote (nameEJB String, String iface) throws Exception {
    Context context;

    Properties props = new Properties ();
    props.put (Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    props.put (Context.PROVIDER_URL, "http: // localhost: 7001");
    try {
        context = new InitialContext (props);
        String lookup nameEJB + = "#" + iface;
        System.out.println ("Lookup" + lookup);
        return context.lookup (lookup);
    } Catch (Exception ex) {
        throw new Exception ("There is EJB: '" + nameEJB + "'.");
    }
    }
}

我已改为:

props.put (Context.INITIAL_CONTEXT_FACTORY, "org.springframework.jndi.JndiObjectFactoryBean");
props.put (Context.PROVIDER_URL, "http: // localhost: 4848");

我在互联网上看到了使用glassfish和mysql的教程。我在glassfish中创建了ping成功数据源。

当我做一个debbug时,它出现了:

  

ex =(javax.naming.NoInitialContextException)   javax.naming.NoInitialContextException:无法实例化类:   org.springframework.jndi.JndiObjectFactoryBean [根异常是   java.lang.ClassCastException:   org.springframework.jndi.JndiObjectFactoryBean无法强制转换为   javax.naming .spi.InitialContextFactory] ​​

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的问题是weblogic.jndi.WLInitialContextFactory不是InitialContextFactory。我认为Glassfish的价值是com.sun.enterprise.naming.SerialInitContextFactory

 Properties props = new Properties ();
    props.put (Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
    props.put (Context.PROVIDER_URL, "http: // localhost: 7001");

This answer有更详细的信息。