问题标签 [embedded-tomcat-8]

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 投票
1 回答
1430 浏览

vaadin - VAADIN Push 不适用于嵌入的 tomcat8

我创建了一个简单的测试应用程序:

当我从 Eclipse 启动它时,一切正常,但是当我将它导出到一个可运行的 jar 并运行它时,我得到了这个错误:

HTTP 状态 500 - com.vaadin.server.ServiceException:java.lang.IllegalStateException:推送不可用。有关详细信息,请参阅以前的日志消息。

这是整个调用堆栈:

我试图将 javax.websocket-api-1.1.jar 添加到库中,但没有任何改变,仍然是同样的错误。

我不知道问题出在哪里,也许我需要添加其他内容,但目前我不知道是什么。

编辑:

我不使用 Maven/Gradle,对于我在 tomcat8 网站上下载的所有需要​​的嵌入式 tomcat8,而对于测试应用程序战争,我使用了我的一个项目,与非嵌入式 Tomcat8 一起工作正常。

0 投票
0 回答
84 浏览

java - 可用于调查 Tomcat 启动时间的工具

我指的是Tomcat 的 HowTo 改进启动时间

有人可以就如何确定Tomcat在哪里启动时间提供明智的建议吗?

我应该使用jvisualvm,jstack吗?

线程转储是找出更多信息的唯一方法,以了解 Tomcat 在启动时实际在做什么?

0 投票
1 回答
2876 浏览

spring-boot - 嵌入式tomcat找不到Thymeleaf模板

在我的程序sze中,我尝试切换到嵌入式 tomcat。不幸的是,我遇到了麻烦,因为无法解决以下 thymeleaf-construct 。 与显示失败<th:block th:include="/main::head"/>main.html目录位于同一目录中。login.html我得到了以下异常

奇怪的是,同一场战争的部署,在tomcat 7中运行良好,在eclipse中运行良好。只有 spring-boot 1.2.6 中的嵌入式 tomcat 会造成麻烦。我没有特殊的 tomcat 或 thymeleaf 配置。很难调试。有什么建议么?

0 投票
1 回答
2160 浏览

hibernate - NameNotFound 异常 - Spring Boot(最新)、嵌入式 Tomcat、JNDI

我的症状类似于: How to create JNDI context in Spring Boot with Embedded Tomcat Container

我创建了一个 github 存储库来重新创建我的问题:https ://github.com/Rkiouak/spring-boot-embedded-tomcat-hibernate-jndi (请注意,您可能需要手动添加 oracle 依赖项,因为 oracle 会阻止发布其jar 到公共 maven 存储库)

克隆 repo,进入它并 mvn clean && mvn package && java -jar target/spring-boot-sample-tomcat-jndi-0.1.0-SNAPSHOT.jar 将重现 NameNotFound execption。

任何人都可以帮助我了解需要更改哪些配置才能使用 tomcat 8 和带有 jndi 的最新 spring-boot 版本(可能使休眠变得复杂)?

问题的详细描述:

先前答案的解决方案对我不起作用,我怀疑新版本中存在依赖问题,或者与休眠方式/何时执行 jndi 查找有关。

但是,我已经克隆了https://github.com/wilkinsona/spring-boot-sample-tomcat-jndi,将其 Spring Boot 依赖项更新为 LATEST,更新了由此新版本产生的 tomcat 包/导入并从 Tomcat 7到Tomcat 8并让它运行。

我怀疑我的问题略有不同,尽管出现的异常是相同的。

我收到的例外是:

我正在将一个遗留的 Struts 应用程序迁移到 Spring MVC,最好是使用嵌入式 tomcat 的 spring boot。最终,我计划将这些 jndi 资源查找更改为(至少我所知道的)传统定义的数据源,但此时希望避免该步骤。

我正在导入一个 applicationContext.xml 资源:

资源 applicationContext.xml 引用了一个 hibernateContext.xml,它引用了一个 hibernate.cfg.xml 文件,如下所示:

我没有看到 println 从

豆。我确实看到了:

并认识到这不是一个有效或有用的设置,但这是我尝试过的事情之一。

任何有关确定 1) 原因和 2) 解决方案的帮助将不胜感激——我以前没有使用过 JNDI 资源,并且此应用程序的背景是 WAS。

我查看了大多数堆栈溢出问题,这些问题与spring-boot,hibernate,jndi,name not found的某种组合模糊匹配,并阅读了tomcat资源定义文档,但无法将其拼凑在一起。 .

如果我遗漏了任何内容,请告诉我

0 投票
2 回答
1402 浏览

spring-boot - Tomcat 8,Spring Boot,@Configurable LoadTimeWeaving 没有 -javaagent?

我正在尝试设置一个@Configurable域对象(不由 spring 容器管理)。
我通过添加-javaagent:path/to/spring-instrument.jar作为 JVM 参数来完成这项工作,但我并不清楚这个 -javaagent 是否必须到位。我在 Tomcat 8 上运行它。我可能误解了文档,但似乎我可以使用另一种机制来实现这一点,特别是这一行:

不要再定义TomcatInstrumentableClassLoaderTomcat 8.0更高。而是InstrumentableClassLoader通过策略让 Spring 自动使用 Tomcat 新的原生设施TomcatLoadTimeWeaver

下面的代码示例:



那么有没有办法在不指定 -javaagent 的情况下编织这些 @Configrable 对象?我有兴趣了解在作为 WAR 部署到独立 Tomcat 8 服务器和/或在作为“胖”jar 启动时使用嵌入式 Tomcat 8 服务器时是否可以完成此操作。

就目前而言,部署到独立 Tomcat 8 服务器不会引发错误,但上述getMyService()方法返回 null。作为 fat jar 启动会在启动过程中引发以下错误:

Caused by: java.lang.IllegalStateException: ClassLoader [sun.misc.Launcher$AppClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar

我想真正的问题是我如何Specify a custom LoadTimeWeaver在 Tomcat 8 中使用?正如文档所述,似乎没有任何事情会自动发生,但我可能再次误解了这意味着什么。

0 投票
2 回答
5751 浏览

java - 如何为 Spring Boot 应用程序配置嵌入式 Tomcat 虚拟主机?

我的 centos vps 上有多个域(通过虚拟主机配置在 apache http 服务器上运行的域)。还有相同的 vps,我想添加我的新域,但该域将路由我的 spring boot 应用程序(应用程序是一个 jar 文件,也在嵌入式 tomcat 中)。我找不到嵌入式 tomcat 特定域和端口的任何配置。

独立的 Tomcat 我可以通过 server.xml 文件进行配置, 如下图

这个简短的教程还显示了 stadalone tomcat Tomcat 虚拟主机配置的配置

但是我怎样才能为嵌入式 Tomcat 进行配置呢?有什么建议吗?

0 投票
5 回答
4715 浏览

spring-boot - 嵌入式 Tomcat 中带有 JSP 标签库的 Spring-Boot

我目前正在迁移 Spring MVC Webapp(xml-config 到 java-config,tomcat 通过 spring-boot 到嵌入式 tomcat)。

webapp 使用 freemarker 作为模板引擎和 JSP Taglibs。现在,当我调用 freemarker 页面时,出现以下错误:

freemarker-header.ftl 以以下代码段开头:

我没有找到 MetaInfTldSources 和 ClasspathTlds 的任何可用搜索结果。以前有人解决过这个问题吗?

KR哈比卜

0 投票
1 回答
94 浏览

java - 在 Java App 和 Web App 之间共享实例

我有一些个人项目,我试图在 webapp 和普通应用程序之间共享一些类实例。我的项目结构如下:
     + NormalApp
     + WebApp
我从 NormalApp 启动应用程序,并使用 EmbeddedTomcat 包含 WebApp。现在我在 WebApp 中有一个名为 Notifier 的类。我想在 NormalApp 中使用 Notifier 的实例而不会丢失它的状态。

有人可以告诉我如何实现这种情况吗?

我有一些计划,比如将 Tomcat 类加载器设置为使用 Systems 类加载器。我尝试过,但无法实现。我对此的理解是错误的吗?

0 投票
3 回答
10779 浏览

java - 如何将 context.xml 文件添加到嵌入式 tomcat 服务器

我正在尝试使用 Spring-boot 在嵌入式 tomcat 服务器中运行我的应用程序。我在一个 XML 文件中配置了我的 JNDI 资源和环境,该文件位于我的应用程序中的 src/main/webapp/META-INF/context.xml 下。当我将此应用程序部署在标准 servlet 容器中时,它可以工作。但是当我使用嵌入式服务器启动它时,它无法识别上下文文件中存在的 JNDI 资源。

我尝试使用以下代码以编程方式将上下文文件添加到 EmbeddedTomcatContainer。从这个博客引用-

但我得到以下异常。有人可以让我知道如何将 context.xml 文件添加到嵌入式 tomcat 服务器吗?

编辑:

我还尝试了更多的 tomcat API 来将 context.xml 文件(定义了几个 JNDI 资源和环境)加载到嵌入式服务器实例,但我不断收到空指针异常。PFB 我尝试使用的不同 API。

对于这两种方法,当 tomcat 试图获取我的资源名称时,我都得到了 NullPointerException。通过 API 方法的名称,我觉得应该有一种方法可以完成这项工作。请协助解决此问题。

0 投票
1 回答
967 浏览

java - 嵌入式 Tomcat 8 无法启动

我有一个 jar,它在带有 Java 8.0.66 的独立 tomcat 8.0.28 服务器中部署和运行

我希望从嵌入式 Tomcat 运行它来运行集成测试。战争部署但未能开始,我没有想法,我收到以下错误:

我有以下嵌入 tomcat 的设置

我有一个用于正常部署的 context.xml ,但这并没有从我所知道的嵌入中读取。

由于罐子可以独立运行,我知道罐子不是问题

有这个信息行 INFO: No global web.xml found 这可能指向一个问题但找不到参考以防万一这是我的 gradle 文件的相关部分的依赖项

任何建议非常感谢?另外一点,有没有办法让tomcat就它不喜欢的东西提供更好的反馈?