Tag: jndi

轻松启动独立JNDI服务器(并注册一些资源)

出于测试目的,我正在寻找一种简单的方法来启动独立的 JNDI服务器,并以编程方式将我的javax.sql.DataSource绑定到”java:/comp/env/jdbc/mydatasource” 。 服务器应该将自己绑定到某个URL,例如:“java.naming.provider.url = jnp:// localhost:1099”(不一定是JNP),这样我就可以从另一个进程查找我的数据源。 我不关心我必须使用哪个JNDI服务器实现(但我不想启动一个成熟的JavaEE服务器)。 这应该很容易,但令我惊讶的是,我找不到任何(工作)教程。

什么是关于数据库和JNDI的validationQuery?

我似乎和这个原始SO问题的海报有着同样的问题。 问题是,他用以下评论回答了他自己的问题: 我解决了我的问题,我在我的JNDI数据源中添加了一个validationQuery。 不幸的是,这对我没有任何意义,并没有帮助我解决我的问题。 所以我问:关于我的数据库(Sybase)和用于保存服务器查找信息的JNDI条目,什么是“ validationQuery ”? 提前致谢。

Glassfish上EJB的可移植JNDI语法查找

以前的尝试是让Netbeans将一个EJB模块部署到Netbeans可以访问的Glassfish服务器上,该模块构建为JAR而不是EAR。 但是,使用asadmin通过CLI将JAR部署到Glassfish 可能会遇到错误 。 EAR通过CLI进行部署而没有问题 – 但是,EJB的JNDI名称似乎不起作用。 差异是什么? 32.4.1.1可移植JNDI语法 三个JNDI名称空间用于可移植的JNDI查找:java:global,java:module和java:app。 java:global JNDI名称空间是使用JNDI查找查找远程企业bean的可移植方式。 JNDI地址具有以下forms:java:global [/ application name] / module name / enterprise bean name [/ interface name]应用程序名称和模块名称默认为应用程序和模块的名称减去文件扩展名。 仅当应用程序打包在EAR中时,才需要应用程序名称。 仅当企业bean实现多个业务接口时,才需要接口名称。 http://docs.oracle.com/javaee/7/tutorial/doc/ejb-intro004.htm 查找此bean的正确语法是什么? 是java:global/HelloEAR/HelloEAR-ejb/greetings.GreetingsBeanRemote ? 我尝试了不止一些变种而没有成功。 部署应用程序: thufir@dur:~$ thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin list-applications HelloEAR Command list-applications executed successfully. thufir@dur:~$ thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin undeploy HelloEAR Command undeploy executed successfully. thufir@dur:~$ thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin […]

jndi LDAPS自定义HostnameVerifier和TrustManager

我们正在编写一个应用程序,它将连接到不同的LDAP服务器。 对于每台服务器,我们只接受某个证书。 该证书中的主机名无关紧要。 当我们使用LDAP和STARTTLS时,这很容易,因为我们可以使用StartTlsResponse.setHostnameVerifier(..-)并将StartTlsResponse.negotiate(…)与匹配的SSLSocketFactory 。 但是,我们还需要支持LDAPS连接。 Java本身支持此function,但前提是默认的Java密钥库信任服务器证书。 虽然我们可以替换它,但我们仍然无法为不同的服务器使用不同的密钥库。 现有的连接代码如下: Hashtable env = new Hashtable(); env.put( Context.INITIAL_CONTEXT_FACTORY, “com.sun.jndi.ldap.LdapCtxFactory” ); env.put( Context.PROVIDER_URL, ( encryption == SSL ? “ldaps://” : “ldap://” ) + host + “:” + port ); if ( encryption == SSL ) { // env.put( “java.naming.ldap.factory.socket”, “CustomSocketFactory” ); } ctx = new InitialLdapContext( env, null […]

JBoss:将值绑定到JBoss EAP 6中的JNDI,类似于JNDIBindingServiceMgr

如何在JBoss EAP 6中将任意字符串绑定到JNDI? 我以前通过以前的EAP版本中的org.jboss.naming.JNDIBindingServiceMgr MBean来做到这一点。 有什么类似于JBoss EAP 6中的org.jboss.naming.JNDIBindingServiceMgr吗? 我们正在将应用程序从jboss-5.1.EAP迁移到jboss-eap-6.1。 我们需要将一些东西绑定到JNDI中,因此应用程序可以查找环境变量的值。 非常感谢。

获取org.hibernate.exception.JDBCConnectionException:即使通过JNDI也无法执行查询

我使用Struts2 + JSP + Tomcat6 + Hibernate + Mysql作为我的J2EE应用程序框架。接下来,我遇到了这个错误的问题: org.hibernate.exception.JDBCConnectionException: could not execute query 这似乎是因为mysql在n小时后关闭了它的连接。 当人们在那里回答时,我改变了hibernate配置以通过JNDI获取我的数据库连接。这是我采取的行动过程: 我的hibernate.cfg.xml: java:comp/env/jdbc/hposg org.hibernate.dialect.MySQLDialect true thread org.hibernate.cache.NoCacheProvider update 3 我放在META-INF中的context.xml文件: 和web.xml中的这些修改: DB Connection jdbc/hposg javax.sql.DataSource Container 奇怪的是,我仍然得到同样的错误! 这是堆栈跟踪: ‘org.hibernate.exception.JDBCConnectionException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.loader.Loader.doList(Loader.java:2297) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172) at org.hibernate.loader.Loader.list(Loader.java:2167) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) at […]

javax.naming.NameNotFoundException:无法解析’MyDB’。 已解决”Weblogic 12.1.3。 C

在从Tomcat迁移到Weblogic 12.1.3时,我javax.naming.namenotfoundexception while trying to look up遇到了这个exceptionjavax.naming.namenotfoundexception while trying to look up然后我尝试了以下内容: NameNotFoundException:尝试仅在从Eclipse Kepler发布时查找“jdbc”而不是Indigo和How访问weblogic 10.3.6中定义的JNDI数据源 我现在得到了标题错误 我的查找代码 ds = (DataSource) initContext.lookup(“MyDB”); 在weblogic JNDI名称中 MyDB 有什么帮助吗?

MongoDb通过jndi

你知道是否有可能像jndi的数据源一样在spring中设置mongodb实例? 谢谢

EJB客户端如何在没有url的情况下找到EJB服务器?

我是Java EE的新手。 目前,我正在阅读Sun Microsystems 的Java EE 6 Tutorial,Volume 1(Basic Concepts Beta) 。 为了避免单调的阅读时间,我玩其他人编写的Java EE项目/代码很少。 我来自SE。 我的头仍然充满了SE。 在SE( 两层应用程序)中我使用 DATABASE_URL = “jdbc:mysql://something.db_server.com/db_name” 这就是我的客户端知道数据库服务器的位置。 在我看到的一个Java EE示例中 // Access JNDI Initial Context. Properties p = new Properties(); p.put(“java.naming.factory.initial”,”org.jnp.interfaces.NamingContextFactory”); p.put(“java.naming.provider.url”,”jnp://localhost:1099″); p.put(“java.naming.factory.url.pkgs”,”org.jboss.naming:org.jnp.interfaces”); InitialContext ctx = new InitialContext(p); // Change jndi name according to your server and ejb HelloRemote remote = […]

独立Java程序中的Initialcontext

我正在使用JNDI来创建tomcat连接池。 它在Web应用程序中运行良好。 我相信InitialContext是由tomcat服务器提供的。 Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup(“java:/comp/env”); dataSource = (DataSource)envContext.lookup(“jdbc/testdb”); 但是当我尝试从独立的Java程序调用相同的实用程序时,initContext对象为null。 如何显式提供Context对象期望的所有必要属性。 错误:javax.naming.NoInitialContextException:需要在环境或系统属性或applet参数或应用程序资源文件中指定类名:java.naming.factory.initial