Tag: 初始上下文

如何在远程WebSphere的JNDI查找期间解决sun / io / MalformedInputException

我使用WebSphere 8.5来托管我的应用程序并在应用程序服务器上配置了一些JDBC资源。 我还使用瘦客户端运行时库开发了一个客户端应用程序。 以下列方式执行JNDI查找时: env.put(Context.INITIAL_CONTEXT_FACTORY, “com.ibm.websphere.naming.WsnInitialContextFactory”); env.put(Context.PROVIDER_URL, “corbaloc:iiop:serv:2809”); Context initialContext = new InitialContext(env); DataSource ds = (DataSource) initialContext.lookup(“cell/node/servers/server/MYDB”); 引发以下exception: java.lang.NoClassDefFoundError: sun/io/MalformedInputException at com.ibm.rmi.iiop.CDRReader.getTcsCConverter(CDRReader.java:451) at com.ibm.rmi.iiop.CDRReader.readStringOrIndirection(CDRReader.java:532) at com.ibm.rmi.iiop.CDRReader.read_string(CDRReader.java:518) at com.ibm.rmi.IOR.read(IOR.java:337) at com.ibm.rmi.iiop.Connection._locate(Connection.java:531) at com.ibm.rmi.iiop.Connection.locate(Connection.java:490) at com.ibm.rmi.iiop.GIOPImpl.locate(GIOPImpl.java:229) at com.ibm.rmi.corba.Corbaloc.locateUsingINS(Corbaloc.java:307) at com.ibm.rmi.corba.Corbaloc.resolve(Corbaloc.java:378) at com.ibm.rmi.corba.ORB.objectURLToObject(ORB.java:3796) at com.ibm.CORBA.iiop.ORB.objectURLToObject(ORB.java:3263) at com.ibm.rmi.corba.ORB.string_to_object(ORB.java:3694) at com.ibm.ws.naming.util.WsnInitCtxFactory.stringToObject(WsnInitCtxFactory.java:1645) at com.ibm.ws.naming.util.WsnInitCtxFactory.getWsnNameService(WsnInitCtxFactory.java:1502) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:1040) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:962) at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:614) […]

如何从Java SE中的GlassFish服务器获取初始上下文?

我有一个类如下: public class Poligon { public static void main(String[] args) { try { Context ctx = new InitialContext(); ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup(“jms/javaee7/ConnectionFactory”); Destination destination = (Destination) ctx.lookup(“jms/javaee7/Topic”); JMSContext context = connectionFactory.createContext(); OrderDTO order = context.createConsumer(destination).receiveBody(OrderDTO.class); System.out.println(“Order received: ” + order); } catch (NamingException ex) { Logger.getLogger(Poligon.class.getName()).log(Level.SEVERE, null, ex); } } } 我想得到InitialContext()表单在localhost上运行的服务器(glassfish),但是我收到以下错误: SEVERE: null […]

如何使用默认构造函数伪造InitialContext

所有, 我试图在一些古老的java代码中进行一些unit testing(没有接口,没有抽象等) 这是一个使用ServletContext的servlet(我假设它是由Tomcat设置的),并且它在web.xml / context.xml文件中设置了数据库信息。 现在,我已经弄清楚如何制作一个假的ServletContext,但代码有 InitialContext _ic = new InitialContext(); 到处都是(所以更换它是不可行的)。 我需要找到一种方法来使默认的InitialContext()能够执行_ic.lookup(val)而不抛出exception。 我假设有一些方法可以加载context.xml,但是这种魔法是如何工作的,我正在画一个空白。 有人有主意吗?