- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 EJB 3.1 中的 EJB,我试图将其部署在 JBoss EAP 6 中,但是当我启动服务器时。它在 JNDI 名称中附加版本号,如下所示。
18:27:57,068 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-6) JNDI bindings for session bean named TestService in deployment unit subdeployment "TestGroup-war-3_0_0-SNAPSHOT.war" of deployment "TestGroup-ear-3_0_0-SNAPSHOT.ear" are as follows:
java:global/TestGroup-ear-3_0_0-SNAPSHOT/TestGroup-war-3_0_0-SNAPSHOT/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:app/TestGroup-war-3_0_0-SNAPSHOT/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:module/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:global/TestGroup-ear-3_0_0-SNAPSHOT/TestGroup-war-3_0_0-SNAPSHOT/TestService
java:app/TestGroup-war-3_0_0-SNAPSHOT/TestService
java:module/TestService
如何从 JNDI 名称中删除版本号“-3_0_0-SNAPSHOT”?我有 ejb-jar.xml,当我部署 Ear 时,它被放置在 ejb jar 文件中。
最佳答案
根据EJB JNDI Naming Reference , session bean 的 JNDI 查找名称具有以下语法:
ejb:<appName>/<moduleName>/<distinctName>/<beanName>!<viewClassName>?stateful
因此,您想要的可以通过两种方式实现:
为了从 WAR 中删除该版本,您只需在 WAR 的 POM 中执行以下操作:
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
</build>
关于您的 EAR,为了从中删除该版本,您可以将以下内容放入您的 EAR 的 POM 中:
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
(...)
<finalName>${project.artifactId}</finalName>
(...)
</configuration>
</plugin>
</plugins>
</build>
通过上面的配置,您将得到如下内容:
.../TestGroup-ear/TestGroup-war/...
创建一个包含以下内容的ejb-jar.xml,并将其放置在 WAR 的 src/main/webapp/WEB-INF 文件夹下:
<ejb-jar xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd"
version="3.2">
<module-name>someModuleName</module-name>
</ejb-jar>
然后,在 EAR 的 src/main/resources/META-INF 文件夹下放置一个 application.xml 文件,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd"
version="7">
<application-name>someApplicationName</application-name>
</<module>
<web>
<web-uri>TestGroup-war-${project.version}.war</web-uri>
<context-root>testGroup</context-root>
</web>
</module>
</application>
然后,在您的 JNDI 上,您将看到如下内容:
java:global/someApplicationName/someModuleName/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:app/someModuleName/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:module/TestService!org.pkg.ejb.local.CRMDataServiceLocal
java:global/someApplicationName/someModuleName/TestService
java:app/someModuleName/TestService
java:module/TestService
从版本 2.5 开始,Maven EAR 插件具有可以设置为属性 fileNameMapping
的选项 no-version
,以便从工件中省略版本:
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
(...)
<fileNameMapping>no-version</fileNameMapping>
(...)
</configuration>
</plugin>
关于jndi - 如何删除 JNDI 名称中的版本号、Jboss EAP 6、EJB 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36175778/
我知道 eap tls 是传输层安全功能。但即使在谷歌搜索之后,仍然存在一些不清晰的地方。 eap tls 是通用 eap 协议(protocol)定义的特殊实现吗?或者 eap tls 是 eap
我想在 Jboss EAP 7 上升级到 JSF 2.3。 我遵循了本指南: https://docs.jboss.org/author/display/WFLY10/JSF+Configuratio
我的项目在 JBOSS EAP 6 上运行。这个 XX.war 部署在 Jboss EAP6 中,但现在我们正在升级到 EAP7。当我在 Jboss EAP7 本地部署 war 文件时,出现此错误。
在 Ansible 提供 JBoss EAP 之后,我在配置 JBoss EAP 时遇到了麻烦。 添加数据源 gradle 任务因 java.lang.IllegalArgumentException
我有一个包含 JPA 2.1 API 和 Hibernate 4.3.0.Final(JPA 2.1 实现)的 war 应用程序,使用 Spring 容器打包和引导,我想在 JBoss EAP 6.1
前言 在C# 5.0中,新增了async await 2个关键字支持异步编程的操作。在讲述这两个关键字之前,我先总结一下.NET中的常见的异步编程模型。 异步编程一直是比较复
我试图用以下代码将 EAP 包装在任务中。 public static async Task Caller() { var ret = await RunProgram();
我已将 jenkins 配置为将从作业生成的 jar 文件复制到运行 jboss 的远程主机 (GNU LINUX) 上的目标文件夹。目前我每次都必须手动重新启动 jboss 才能反射(reflect
我正在尝试以编程方式在 Android 上创建企业 WiFi 配置文件(WPA-Enterprise、WPA2-Enterprise)。 我见过一个比较有名的方案,就是用反射来实现。据我了解,如果必须
从.NET 4.5开始,支持的三种异步编程模式: •基于事件的异步编程设计模式 (EAP,Event-based Asynchronous Pattern) •异步编程模型(
我这里有个情况: 我有一个 .eap 文件,并且我有一个可用的工具,即 StarUML。我需要将 .eap 文件内容导入 StarUML。 基本上,我需要知道如何将 .eap 转换为某种格式以导入 S
当我运行以下 Dockerfile 时,容器响应错误并退出。 如果我注释掉 COPY,容器将正常启动。 我是否需要配置其他内容才能让容器启动并部署应用程序? docker 文件: FROM regis
我正在使用 Jboss EAP 6.4 域架构。我的计划是将所有资源属性文件捆绑为外部模块,并定义一个部署结构以将它们添加到类路径中。这工作得很好,但是服务器没有检测到运行时所做的更改,需要重新启动
我在同一台机器上运行域 Controller 、一个主机 Controller 和一台服务器。 我正在使用 IDEA 连接到远程服务器进行调试,但它并没有在断点处停止,即使它正在运行代码(我已经通过系
我正在尝试决定是在我们的 JBoss EAP 6 环境中使用独立模式还是域模式。我们在一台机器上运行多个 JBoss 环境。 有什么好处和坏处?对我来说,域模型可能是管理环境的一种优雅方式,但是修改一
我在我的 WPF 应用程序中使用 CefSharp 3 来使用基于 Chromium 的 webBrowser 控件。为了调用 html 中的某些脚本,使用了 ExecutScriptAsync 方法
我的场景: 我有 2 个不同的 keystore (A.jks 和 B.jks),用于与两个不同服务器的 SSL 连接。这些 keystore 在进行“冒烟测试”时从命令行运行。 使用EAP服务器,如
我在一个特定的 linux 机器上有多个 jboss 实例。我不想 grep jboss 实例的进程 ID 和监听端口。server.log 或 CLI 命令是否有解决方法? 最佳答案 除了 Pana
在过去的几天里,我在从 Eclipse 发布到 JBoss EAP 6.3 或 Wildfly 8.2 时遇到了这个错误。 Error renaming D:\Servers\wildfly-8.2.
Jboss EAP 6 的默认管理控制台密码是什么? 它不允许我在没有密码的情况下查看管理控制台。而且我也找不到配置页面。 请指教。 最佳答案 转到 JBOSS_HOME\bin,运行 add-use
我是一名优秀的程序员,十分优秀!