我正在使用 Tomcat 和 Java(通过 Eclipse)和 Oracle 数据库 9.2.1
我正进入(状态
org.apache.naming.NamingContext lookup
WARNING: Unexpected exception resolving reference
java.sql.SQLException: oracle.jdbc.OracleDriver
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver
(PooledConnection.java:243)
Run Code Online (Sandbox Code Playgroud)
我的代码是
上下文.xml
<Resource type="javax.sql.DataSource" auth="Container"
name="jdbc/charmDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:db"
username="db" password="db" maxActive="20" maxIdle="10"
/>
<Resource name="jdbc/charmDB" auth="Container"
type="javax.sql.DataSource"
description="My Database"/>
Run Code Online (Sandbox Code Playgroud)
Java代码
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/charmDB");
Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)
有谁知道出了什么问题?
谢谢!
我正在使用来自7.0.32的Tomcat 7和Manager.
curl -X PUT http://user:password@server:port/manager/text/deploy?path=/app
OK - it works
curl -X PUT http://user:password@server:port/manager/text/list
FAIL - Unknown command /list
Same with stop :
FAIL - Unknown command /stop
Run Code Online (Sandbox Code Playgroud)
但在官方文档中:http: //tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Stop_an_Existing_Application 明确指出此命令存在.
我错过了什么?
当我在一个独立的tomcat容器中启动我的webapp时,我看到Flyway日志记录正常(如果找到则使用commons-logging,如下面的Axel所述,则使用sout).
但是,当我使用apache tomcat maven插件(tomcat7-maven-plugin)时,我看到以下内容:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Run Code Online (Sandbox Code Playgroud)
没什么好看的.这是完整的代码:
public void contextInitialized(ServletContextEvent sce) {
Flyway flyway = new Flyway();
flyway.setDataSource(...);
flyway.migrate();
}
<listener>
<listener-class>com.blah.conf.FlywayListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
我正在使用logback-classic进行日志记录.泽西和吉斯都记录正常(虽然我删除它们以缩小问题范围).
这是我在类路径中看到的唯一与日志相关的jar:
logback-classic-1.0.13
logback-core-1.0.13
slf4j-api-1.7.5
Run Code Online (Sandbox Code Playgroud)
这是slf4j的依赖树:
mvn dependency:tree -Dverbose -Dincludes=org.slf4j
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ hello ---
[INFO] com.hello:hello:war:1.0-SNAPSHOT
[INFO] \- ch.qos.logback:logback-classic:jar:1.0.13:compile
[INFO] \- org.slf4j:slf4j-api:jar:1.7.5:compile
Run Code Online (Sandbox Code Playgroud)
所以我更新的问题是,为什么使用tomcat maven插件vs独立存在差异?我没有在"target"文件夹中看到临时部署的任何其他jar.
更新:添加jcl-over-slf4j后,问题就消失了.
我正在尝试使用Spring框架启动一个Web应用程序,我正在使用maven来获取unfpndent jar.我使用Tomcat 7.0.39我已经将Eclipse配置为包含所有te maven依赖项到WEB-INF/lib文件夹中.所以,在我的战争中,我确实看到了所有的罐子.但是我仍然得到了DispatcherServlet的ClassNotFound异常.这是服务器日志:
SEVERE: Servlet /bookRental threw load() exception
java.lang.ClassNotFoundException: com.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
Run Code Online (Sandbox Code Playgroud)
以下是我的pom.xml文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>bookRental</groupId>
<artifactId>bookRental</artifactId>
<version>0.1</version>
<packaging>war</packaging>
<name>bookRental</name>
<description>an e-rental zone to share books</description>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 tomcat 8 中设置 ssl,并且遵循了我公司为 tomcat 7 编写的文档。该文档适用于 tomcat 7,但是当我在 tomcat 8 中尝试相同的操作时,我在 catalina 中收到以下错误。输出日志文件。您能告诉我导致此错误的原因吗?顺便说一句,日志文件中的 sso 指的是我创建的一个简单的 hello world war 应用程序来测试 sso/ssl。
SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sso]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1701)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:812)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Pipeline[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sso]]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5065)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [com.sap.ldi.tomcat.extensions.SSLAuthenticatorWithFormFallback[/sso]] …Run Code Online (Sandbox Code Playgroud) #所有请阅读我的问题倾斜我已经解决了这个问题
Spring 循环参考在 Local 、 UAT 、 DEMO 、 STAGGING 环境中工作,但不仅限于生产环境。所有环境都具有相同的配置
1 JDK:1.7.0.79
2.Tomcat 7.0
应用上下文.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:component-scan base-package="in.test.server">
</context:component-scan>
<context:annotation-config />
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="applicationProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath*:mail.properties</value>
<value>classpath*:document_storage.properties</value>
<value>classpath*:ekyc.properties</value>
<value>classpath*:application_config.properties</value>
<value>classpath*:messages.properties</value>
<value>classpath*:invitation_codes.properties</value>
<value>classpath*:capitalraise.properties</value>
</list>
</property>
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath*:mail.properties</value>
<value>classpath*:application_config.properties</value>
</list>
</property>
</bean>
<bean …Run Code Online (Sandbox Code Playgroud) 尝试配置 Nginx 有两个目的:
由于我们使用默认配置和镜像指令时遇到了非常低的性能,因此我们决定尝试使用反向代理来检查是否对服务器有影响,并且确实看起来 nginx 将流量限制了几乎一半(我们正在使用 Locust和 Jmeter 作为加载工具)
Nginx 版本:1.19.4
尝试了10 个提高 10 倍应用程序性能的技巧并调整 NGINX 性能, 但没有效果。运行 nginx 和 tomcat 的机器应该足够强大(EC2 c5.4XLarge),我们没有看到资源缺乏,但网络上限更多。TIME_WAIT 连接数非常高 (20k-40k)
从机器角度:
Nginx视角(之后添加nginx.conf):
nginx.conf:
user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 100000;
events {
worker_connections 3000;
}
http {
include /etc/nginx/mime.types;
default_type …Run Code Online (Sandbox Code Playgroud) nginx performance-testing tomcat7 centos7 nginx-reverse-proxy
我正在开发 Angular 9 应用程序,并使用 Angular httpclient 发送补丁要求。但由于预检请求未通过,要求总是失败。我知道我可以添加一些关于允许方法的设置,我做了,但仍然不起作用,似乎我的设置不适用于角度 httpclient。我在这个问题上纠结了很长时间,请大家给一些关于这个问题的建议。服务器是Tomcat 7(7.0.106),rest api是jersery,这里是web.xml中设置的一部分
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Authorization,Content-Type,X-Requested-With,Origin,Accept,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH</param-value>
</init-param>
</filter>
Run Code Online (Sandbox Code Playgroud)
这是 Angular httpclient 在 Chrome 中的请求详细信息(失败的)
**General**
Request URL: http://localhost:8080/api/v1/user/testPatch
Request Method: OPTIONS
Status Code: 200 OK
Remote Address: [::1]:8080
Referrer Policy: strict-origin-when-cross-origin
**Request Header**
...
Accept: */*
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Headers: content-type
Access-Control-Request-Method: PATCH
Cache-Control: no-cache
Connection: keep-alive
Host: localhost:8080
Origin: http://localhost:4200
Pragma: no-cache
Referer: http://localhost:4200/ …Run Code Online (Sandbox Code Playgroud) SEVERE: Exception starting filter struts2
Unable to load configuration. - bean - jar:file:/C:/Users/vaio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsCRUD/WEB-INF/lib/struts2-core-2.3.4.1.jar!/struts-default.xml:29:72
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:450) at
org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at
java.util.concurrent.FutureTask.run(Unknown Source) at
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at
java.lang.Thread.run(Unknown Source) Caused by: Unable to load
configuration. - bean -
jar:file:/C:/Users/vaio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsCRUD/WEB-INF/lib/struts2-core-2.3.4.1.jar!/struts-default.xml:29:72
at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
... 16 more Caused by: Unable to load bean: type:
class:com.opensymphony.xwork2.ObjectFactory - …Run Code Online (Sandbox Code Playgroud) java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test2
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.room302.util.DBConnectionUtil.getConnection(DBConnectionUtil.java:32)
at com.room302.dao.roomDAO.addexpense(roomDAO.java:26)
at com.room302.servlet.Navigator.doPost(Navigator.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
我的Util文件如下:
public class DBConnectionUtil
{
private static final String USERNAME="root";
private static final String PASSWORD="1234";
private static final String URL="jdbc:mysql://localhost:3306/test2";
private static …Run Code Online (Sandbox Code Playgroud)