Tag: jndi

在websphere中查找本地EJB的正确方法 – 获取ClassCastException

我有一个EJB,它由本地和远程接口公开 package com.sam.enqueue; import javax.ejb.Local; import javax.ejb.Remote; import javax.ejb.Singleton; @Singleton @Local(SamEnqueueLocal.class) @Remote(SamEnqueueRemote.class) public class SamEnqueue implements SamEnqueueRemote, SamEnqueueLocal { } // remote interface package com.sam.enqueue; import javax.ejb.Remote; @Remote public interface SamEnqueueRemote { } // local interface package com.sam.enqueue; @Local public interface SamEnqueueLocal { } 我的app容器是websphere 8.0,我没有覆盖服务器分配的默认JNDI名称。 在服务器启动期间,我在日志中获得以下默认绑定: CNTR0167I: The server is binding the com.sam.enqueue.SamEnqueueRemote interface […]

使用JNDI启用Active Directory帐户

我已经通过JNDI在Active Directory中成功创建了一个禁用用户,但我不确定如何启用它。 我应该直接操纵userAccountControl属性吗? 谢谢。

com.sun.jndi.ldap.LdapCtxFactory:在servlet中找不到类

早上好/下午好, 我有LDAP连接器的问题,当我在我的unit testing中使用它没有问题,但是当它在应用服务器环境中调用时,它似乎有类路径问题,但这个类是用java 1.6.17(版本I)提供的使用)。 我使用spring-ldap来启动我的连接。 public static LdapContextSource getLdapContextSource(final String url, final String base) throws Exception { LdapContextSource ldapContextSource = new LdapContextSource(); ldapContextSource.setUrl(url); ldapContextSource.setBase(base); ldapContextSource.setPooled(true); //ldapContextSource.setContextFactory(LdapCtxFactory.class); ldapContextSource.afterPropertiesSet(); return ldapContextSource; } 这是日志: 2010-08-10 09:46:38,183 : StandardWrapperValve.invoke : Servlet.service() for servlet default threw exception java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at org.ow2.easybeans.loader.EasyBeansClassLoader.findClass(EasyBeansClassLoader.java:134) at java.lang.ClassLoader.loadClass(ClassLoader.java:303) […]

如何在tomcat 8中正确配置jndi数据源

我尝试在我的应用程序中配置jsbc数据源 -tomcat_home- \的conf \卡塔利娜\本地主机 我的应用程序是“reportExport”.war所以我用这个内容创建了reportExport.xml: 我在web.xml中添加了这个: This app requires a ms sql connection. jdbc/mssql javax.sql.DataSource Container 可能我可以省略我在reportExport.xml中给出的字段?! 在Java中我尝试获得这样的连接: ((DataSource) (new InitialContext()).lookup(“java:comp/env/jdbc/mssql”)).getConnection() 连接在java中工作,但有2个问题。 第一个问题是:如果我在部署应用程序之前将reportExport.xml放入正确的路径tomcat抛出exception: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].Sta ndardContext[/reportExport]] … Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\Users\moritz\entwicklung\apache-tomca t-8.0.18\webapps\reportExport] is not valid … 11-Feb-2015 14:15:38.303 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Error de ploying configuration descriptor […]

简单的JNDI ContextFactory?

我的WAR应用程序已部署到Amazon Elastic Beanstalk。 它们不支持JNDI,但我需要它用于JPA和unit testing。 我可以使用什么JNDI上下文工厂作为解决方法? 我需要一个简单的开源解决方案,这将允许我通过jndi.properties配置整个工厂。 我尝试过GuiceyFruit,但看起来它不允许在一个文件中配置数据源。 有什么建议么? PS。 OpenEJB可以工作,但这对于这么简单的任务来说太过分了

Jboss客户端向Jboss中的远程hornetq发送消息

我有一个在JBoss (JB_Client)中运行的客户端,它需要将消息发送到远程Jboss服务器(JB_Server) HornetQ 。 远程jboss服务器(JB_server)需要将响应消息发送回HornetQ 。 所以JB_Client MDB正在收听远程HorentQ的响应。 我正在为我的客户端和服务器使用Jboss AS6 。 该系统在同一Jboss客户端和服务器本地环境中完美运行。 但现在我需要将客户端和服务器分成两台机器。 这是我的测试客户端配置。 Properties prop = new Properties(); prop.put(Context.INITIAL_CONTEXT_FACTORY, “org.jnp.interfaces.NamingContextFactory”); prop.put(Context.URL_PKG_PREFIXES, “org.jboss.naming:org.jnp.interfaces”); prop.put(Context.PROVIDER_URL, “jnp://localhost:1099”); ictx = new InitialContext(prop); conFactory = (ConnectionFactory)ictx.lookup(“/ConnectionFactory”); qcon = (QueueConnection)conFactory.createConnection(); qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 除定义的队列外,服务器没有特殊设置。 我需要在服务器和客户端进行哪些配置才能使其工作?

如何在Tomcat中创建没有池的数据源

我使用JNDI上下文在Tomcat的context.xml文件中为JDBC驱动程序创建数据源,如下所示, 默认情况下,Tomcat将使用DBCP数据源工厂并创建池化数据源。 我们使用的特定数据库和驱动程序已经支持较低级别的池,而额外的池实际上会损害性能。 无论如何使用像这样的JNDI资源创建基本数据源(没有池),这样我可以在最小配置更改的情况下在不同的数据库之间切换? 我知道我可以编写自己的数据源工厂或使用其他驱动程序来实现这一点,但我正在寻找一个更简单的解决方案。

SearchControls.setTimeLimit()是否处理​​读取超时?

我有一个问题,针对目录的LdapContext.search()偶尔会挂起。 我尝试提供一个我调用setTimeLimit(10000),的SearchControls对象setTimeLimit(10000),但问题仍然存在。 鉴于此,我现在的想法是,SearchControls对象仅用作服务器的建议,如果没有数据包返回,则不会在客户端读取超时。 我环顾四周,但没有在课程文档中找到任何措辞来明确证实这一点。 任何人都可以确认我的猜测SearchControls不会安排客户端读取超时,在这种情况下我是否应该使用com.sun.jndi.ldap.read.timeout来保护我的客户端?

Java EJB JNDI Bean查找失败

我有以下结构: 4.0.0 com.screening screening 1.0-SNAPSHOT pom Screening Java Parent Module1 Module2 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.6 1.6 ${endorsed.dir} org.apache.maven.plugins maven-ejb-plugin 2.3 3.1 org.apache.maven.plugins maven-dependency-plugin 2.1 validate copy ${endorsed.dir} true javax javaee-endorsed-api 6.0 jar 以上是pom,它是以下模块的父级: com.screening screening 1.0-SNAPSHOT 4.0.0 com.screening module1 1.0-SNAPSHOT ejb Module1 com.screening screening 1.0-SNAPSHOT 4.0.0 com.screening module2 1.0-SNAPSHOT ejb Module2 我有一些无状态的bean,例如: @Stateless @Local public […]

javax.jms.ConnectionFactory和javax.jms.XAConnectionFactory之间的差异

我正在进入JTA的世界,由于需要分布式事务,我不确定javax.jms.ConnectionFactory和javax.jms.XAConnectionFactory之间的区别,或者更准确地说, javax.jms.ConnectionFactory执行的方式如何?我所期望的只有javax.jms.XAConnectionFactory才能为我做。 细节:我使用Atomikos essentials作为我的事务管理器,我的应用程序在Apache Tomcat 6上运行。 我正在运行一个带有虚拟应用程序的小型POC,我将JMS提供程序( OpenMQ )注册为JNDI资源。 奇怪的是,在我的代码中我这样做: Context ctx = new InitialContext(); ConnectionFactory queueConnectionFactory = (ConnectionFactory)ctx.lookup(“java:comp/env/jms/myQueueFactory”); javax.jms.Connection connection = queueConnectionFactory.createConnection(); Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE); 稍后在代码中,我在UserTransaction使用此会话,并且它使用Commit或Rollback两个MessageProducer完美地执行。 我不明白的是,我是如何使用javax.jms.XAConnectionFactory.createConnection()方法的,我得到了一个能完成工作的Session ? 什么是javax.jms.XAConnectionFactory角色? 我还要补充一点,我已经查看了两个类(和javax.jms.BasicConnectionFactory )的源代码,并且我validation了XA类没有覆盖createConnection 。