问题标签 [embedded-container]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
359 浏览

jakarta-ee - JavaEE6(嵌入式)容器实现是否可用于实验?

openejb 是否提供 javaee6/ejb3.1 实现?openjpa 是否提供 javaee6/jpa2.0 实现?

我正在尝试使用 maven 作为构建工具来评估 javaee6 和 ejb3.1 和 jpa2.0;所以试图找到它的Maven工件。请建议任何开源 javaee6 嵌入式容器完整实现。

0 投票
3 回答
853 浏览

testing - 为什么要在嵌入式容器中测试 ejb3?

这可能是一个愚蠢的问题,因为几乎每个人都喜欢使用嵌入式容器技术来测试 EJB,但由于我缺乏经验,我必须澄清这一点。另外,我认为嵌入式容器无法重现在真实应用服务器中部署的真实情况。那么,在测试 ejb3 时,为什么要使用嵌入式容器而不是独立容器呢?提前致谢。

0 投票
0 回答
257 浏览

java-ee-6 - 嵌入式容器是否可以与 JBoss 7 一起使用?

前段时间,我用 GlassFish 试用了 EJB 3.1 的可嵌入容器 API。

现在我尝试用 JBoss 7.1 做同样的事情,但无法让它工作。我花了一些时间研究这个问题,但只发现其他人有这个问题,没有答案或例子。

我知道 Arquillian,它或多或少地消除了对用于测试 EJB 的可嵌入容器的需求,但仍然对可行的解决方案感兴趣。

因此,这是适用于 GlassFish 的代码:

0 投票
2 回答
969 浏览

jakarta-ee - 测试 EJB 3.1 的方法

我目前正在处理 3.1 版中测试 EJB 的主题,但我确实只有一些经验。所以我看了一下文献,发现了三种不同的测试 EJB 的方式/方法(3.0 版和更新版本)

1)使用简单的 POJT(Plain Old Java Tests)

2) 使用嵌入式容器

3) 在应用服务器中测试应用

在我弄清楚这些不同的方法后,我自己开始了一些研究并发现了一些可能性。

对于案例 1) 像 JUnit 或 TestNG 这样的工具几乎是完美的,为了解决注释问题,可以使用库 EasyGloss。对于非常简单的 bean,不需要 EasyGloss。“本地”测试工作正常,直到 bean 需要访问上下文(例如 sessionContext),使用事务或拦截器。

我使用 JBoss AS 7.1.1,据我所知,此应用程序服务器不提供嵌入式容器。所以我可以切换到 Glassfish(我不喜欢)或使用 OpenEJB 或 Arquillian 等替代方案来处理案例 2 的测试)。

我知道你们在测试 Jave EE 和 EJB 方面有更多的经验和知识。所以我想问你是否愿意和我分享你的经验,也许会给一些技巧和窍门,更多的想法或ejbs有效测试的示例代码。

编辑:为案例 1)添加了更多信息。

0 投票
1 回答
2217 浏览

java - WebSphere 8.5:单元测试和可嵌入容器

我正在尝试使用 WebSphere 8.5 可嵌入容器在 Maven 项目中运行以下单元测试:

但是我在 setup 方法中遇到了以下异常:

CNTR9403E: 可嵌入企业 bean 容器无法启动具有相同文件名的多个模块:project1\target\classes 和 project2\target\classes

有人知道如何解决这个问题吗?我搜索但找不到任何有用的东西。

编辑: 我在这里找到了异常 CNTR9403E 的文档:

http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.messages.doc%2Fcom.ibm.ejs.container.container.html

CNTR9403E: 可嵌入企业 bean 容器无法启动具有相同文件名的多个模块:{0} 和 {1}

但我不知道如何解决这个问题。它是否在抱怨路径末尾的两个“类”目录?如何在 Maven 多模块项目中解决这个问题?或者它是 WebSphere 8.5 中的一个错误?

0 投票
0 回答
2105 浏览

spring - 没有嵌入式容器无法启动 Spring Boot

如果没有嵌入式容器错误,我无法部署 Spring Boot 战争文件。我按照 spring.io ( http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file ) 站点上的说明进行操作,并尝试了多种方法但似乎没有什么能影响 Spring Boot 启动嵌入式容器。

POM.xml

ShellApplication.java

日志

我也尝试创建一个 tomcat 排除,但它没有帮助

jboss-部署-结构.xml

0 投票
0 回答
71 浏览

java - Grails 3.0.15 运行嵌入式战争 / jar 与在容器中运行

以嵌入式模式运行 Grails(意味着服务器嵌入在应用程序中)是否安全并准备好投入生产?
是否有任何已知问题会阻止使用此模式?
嵌入式jar比嵌入式war文件好吗?

0 投票
1 回答
1446 浏览

java - Spring Boot:使用 RewriteValve 的嵌入式 Tomcat

背景

我在一个简单的 Java 应用程序中使用 Spring Boot 1.4。作为一个实验,我决定编写自己的 servletContainer() bean 来将 Tomcat 的RewriteValve注入到容器中。这个阀门被添加为全局上下文阀门,并且应该适用于所有请求。

我正在使用 Tomcat 8.5.x。

因为 Valve 期望配置在 WEB-INF 文件夹中可用,所以我设法覆盖它的 startInternal() 方法,让它读取位于容器/tomcat/rewrite.config 的类路径位置下的 rewrite.config 文件。

阀门可以很好地读取配置。rewrite.config 文件简单地陈述了以下规则:

意思是,当请求 url 以 /app2 开头时,将 url 重写为 /app。

需要注意的是,应用程序本身部署在 /app 下,而不是 ROOT 下。这是通过 server.context-path 属性处理的。

什么不起作用

由于应用程序部署在 /app 下,因此在提交 /app2 请求时永远不会真正调用 Valve。例如:

  1. http://localhost:8080/app2从不激活阀门
  2. http://localhost:8080/app/app2激活阀门

如果我删除上下文路径并在根目录下部署 /app,这就是我可以观察到的:

  1. http://localhost:8080/app2激活阀门

什么有效

使用外部 tomcat 容器,如果我手动配置具有相同规则的阀门,并将应用程序部署在 /app 下,我可以观察到:

  1. http://localhost:8080/app2正确激活了阀门。url 改写为http://localhost:8080/app

我可能做错了什么?

0 投票
0 回答
425 浏览

spring-boot - 如何将 JNDI 上下文文件包含到 spring-boot 嵌入式容器中

我有一个包含 JNDI 数据源信息的上下文文件,如下所示

我有多个类似于上面的数据源资源。我正在将我的 spring MVC 应用程序迁移到 spring-boot。但我的应用程序无法识别此上下文文件。

我正在使用 org.springframework.boot:spring-boot-starter-web:jar:1.4.0.RELEASE

如何配置我的 spring-boot 应用程序以使用此上下文文件?现在我收到以下错误

0 投票
2 回答
1003 浏览

java - 在 Spring Boot 中不使用嵌入式 Tomcat Servlet 容器时收到异常

我第一次使用 Spring Boot,我注意到了一些奇怪的事情。starter web 依赖项中有 starter Tomcat,但我只是在制作一个普通的 WAR。我排除了 Tomcat,然后在构建时开始收到以下内容:

我添加了 servlet jar(外部 JAR),但它没有解决我的问题。

POM.xml