- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在运行一个使用 JBoss5 容器的 ejb 示例。我正在使用一个例子 from here(Part one) .
在示例中,我在 JBoss 中部署了 bean,在 Tomcat 中部署了一个应用程序(以从 JBoss 访问 bean)。我在 tomcat 服务器的屏幕上收到错误
javax.naming.NameNotFoundException: greetJndi 未绑定(bind)
(greetJndi 是 jboss.xml 文件中的 jndi-name )在JBoss中部署有什么特定的目录结构吗?
谢谢
最佳答案
I am getting the error (...) javax.naming.NameNotFoundException: greetJndi not bound
这意味着没有任何内容绑定(bind)到 jndi 名称 greetJndi
,很可能是因为部署问题,因为本教程的质量极低(检查服务器日志) .我会回来的。
Is there any specific directory structure to deploy in JBoss?
ejb-jar
的内部结构应该是这样的(使用上述链接中的糟糕的命名约定和默认包):
.├── greetBean.java├── greetHome.java├── greetRemote.java└── META-INF ├── ejb-jar.xml └── jboss.xml
But as already mentioned, this tutorial is full of mistakes:
<enterprise-beans>]
<-- HERE) in the ejb-jar.xml
(!)PUBLIC
in the ejb-jar.xml
and jboss.xml
(!!)jboss.xml
is incorrect, it should contain a session
element instead of entity
(!!!)Here is a "fixed" version of the ejb-jar.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>greetBean</ejb-name>
<home>greetHome</home>
<remote>greetRemote</remote>
<ejb-class>greetBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
还有jboss.xml
:
<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
<jboss>
<enterprise-beans>
<session>
<ejb-name>greetBean</ejb-name>
<jndi-name>greetJndi</jndi-name>
</session>
</enterprise-beans>
</jboss>
完成这些更改并重新打包 ejb-jar 后,我能够成功部署它:
21:48:06,512 INFO [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@5060868{vfszip:/home/pascal/opt/jboss-5.1.0.GA/server/default/deploy/greet.jar/}21:48:06,534 INFO [EjbDeployer] installing bean: ejb/#greetBean,uid1998144821:48:06,534 INFO [EjbDeployer] with dependencies:21:48:06,534 INFO [EjbDeployer] and supplies:21:48:06,534 INFO [EjbDeployer] jndi:greetJndi21:48:06,624 INFO [EjbModule] Deploying greetBean21:48:06,661 WARN [EjbModule] EJB configured to bypass security. Please verify if this is intended. Bean=greetBean Deployment=vfszip:/home/pascal/opt/jboss-5.1.0.GA/server/default/deploy/greet.jar/21:48:06,805 INFO [ProxyFactory] Bound EJB Home 'greetBean' to jndi 'greetJndi'
该教程需要重大改进;我建议远离 roseindia.net。
关于javax.命名.NameNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911856/
我从我的 Java EE Web 应用程序中收到此注入(inject)/JNDI 查找错误: type Exception report message descriptionThe server e
安装 ADT r22 后,每次关闭我的应用程序时,我都会在 LogCat 中收到此异常: E/LuckyLauncherView(227): in setViewEveryArea() E/Lucky
我正在运行一个使用 JBoss5 容器的 ejb 示例。我正在使用一个例子 from here(Part one) . 在示例中,我在 JBoss 中部署了 bean,在 Tomcat 中部署了一个应
我从 Crashlytics 收到错误消息,指出某些设备缺少 com.google.android.webview。这怎么可能? java.lang.RuntimeException: Unable
我再次搜索这个问题,我无法使用 java config 找到 jndi 数据库。在此之前,我使用 xml 并且它工作得很好,但在 java 配置中它会导致问题; XML 代码:
出现此异常时我正在使用 spring-ldap: 服务器未知异常:[LDAP: error code 32 - No Such Object]; nested exception is javax.n
我正在开发一个 Java 企业应用程序,该应用程序具有与 EAR 捆绑在一起的 EJB 层和 WEB 层。我面临的问题是,我的 EJB 层中有一些实体,当我尝试在 WEB 层中通过 JNDI 获取它们
我使用 com.sun.jersey.spi.spring.container.servlet.SpringServlet 创建了两个 Jersey servlet 项目。我使用 Jersey 1.1
我正在尝试构建一个通知并显示它,还为我正在显示的 Intent 构建一个堆栈。但是我得到一个 NameNotFoundException。 Intent resultIntent = new Inte
我有这个非常简单的代码(Glassfish 3.1.2): Context ic = new InitialContext(); ConnectionFactory connectionFactory
我想从 jetty 切换到 tomcat。我得到 NameNotFoundException,因为 tomcat 没有找到在 jetty-web.xml 中并在 applicationContext.
我有这个非常简单的代码(Glassfish 3.1.2): Context ic = new InitialContext(); ConnectionFactory connectionFactory
更新:好吧,似乎只有当我尝试在本地调试时才会出现这个问题。在 Jetty(不是同一台机器)上发布时效果很好。本地调试时是否可以配置Run-Jetty-Run使用的jetty.xml文件? 我只是浪费了
我不明白为什么会出现这个异常。 在我的主要 Activity 中,在 onCreate 方法中我首先有这段代码: try { PackageInfo info = this.ge
我有一个 .java 文件: .... import android.content.pm.ApplicationInfo; import android.content.pm.PackageI
我正在将我的 spring jsf 项目从 ANT 迁移到 maven,同时在 jboss 5 服务器中部署时出现以下错误。 错误 [ContextLoader] 上下文初始化失败org.spring
这可能是非常基本的,但我已经坚持了几个小时了,所以请听我说完。 我正在尝试在 Eclipse 中 Glassfish 4.0 上的 Java 7 Web 应用程序中进行基于 JDBCRealm 的身份
我在 netbean 7.3 中用 jboss-7.1.1 Final 创建了一个 Ejb 项目 在 Ejb 模块中我有这些: LibrarySessionBeanRemote.java packag
我遇到一个问题,出现以下错误。项目有关于此服务的 jar 和我的 web.xml 以下 请帮助我。 ejb/KpsSessionFacade Session tr.com.m
我无法将 Weblogic (12c) 定义的 JNDI 数据源映射到本地 jndi 名称。 我在 weblogic mysql 数据源中有一个数据源定义为“mysqltestds”,我想将 Web
我是一名优秀的程序员,十分优秀!