Tag: tomcat7

重启Openshift MySQL盒式磁带时出错

我有一个带有Tomcat 7和MySQL 5.5的不可扩展的OpenShift应用程序,该应用程序只运行一个小型Java应用程序。 这个应用程序运行良好几个月,但自上周以来它停止工作。 当我尝试使用OpenShift仪表板重新启动应用程序时,我收到以下错误消息: Starting MySQL 5.5 cartridge MySQL server failed to start: 140305 07:01:47 mysqld_safe Logging to ‘/var/lib/openshift/53104e375973cad496000022/mysql//log/mysql_error.log’. 140305 07:01:48 mysqld_safe Starting mysqld daemon with databases from /var/lib/openshift/53104e375973cad496000022/mysql/data/ 140305 07:01:52 mysqld_safe mysqld from pid file /var/lib/openshift/53104e375973cad496000022/mysql/pid/mysql.pid ended 140305 07:01:48 mysqld_safe Starting mysqld daemon with databases from /var/lib/openshift/53104e375973cad496000022/mysql/data/ 140305 7:01:49 [Note] Plugin ‘FEDERATED’ is […]

需要在Tomcat上进行压缩的分步概述

需要在Tomcat 7上进行压缩的逐步概述……我已经在这里工作了好几天。 特别感兴趣的是从servlet响应压缩text / xml,但也想测试其他压缩。 从我的谷歌搜索和阅读,似乎我只需要添加几行来配置server.xml中的http连接器(见下文)。 但我正在检查像webpagetest.org这样的网站而没有看到任何结果(甚至在响应头中都没有gzip)。 我还需要什么? filter? 在我的应用程序中使用GZip方法? 在web.xml中指定用于输出压缩的servlet? 我将非常乐意继续获得正确的细节,并且现在很高兴确保我知道所有必要的部件是什么。 UPDATE。 已解决…请参阅下面接受的答案中的评论。

JDBC MySQL抱怨太多连接

当发生这种情况时,我检查我的数据库(参见下表),连接没有达到1000的限制。这很奇怪…想知道是否有一个隐藏的硬限制被击中。 mysql> show variables like ‘max_connections’; +—————–+——-+ | Variable_name | Value | +—————–+——-+ | max_connections | 1000 | +—————–+——-+ mysql> SHOW STATUS WHERE `variable_name` = ‘Max_used_connections’; +———————-+——-+ | Variable_name | Value | +———————-+——-+ | Max_used_connections | 510 | +———————-+——-+ 仅供参考,我的应用程序平均有300个数据库连接。 那么任何想法? 谢谢。 我的设置:tomcat7,spring 3.1,tomcat7-dbcp,mysql5.5,java7

启用了JMX的Tomcat7会打开2个额外的随机侦听端口

我在Centos6上使用JDK7运行Tomcat7。 我使用以下选项启用JMX: CATALINA_OPTS=”${CATALINA_OPTS} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9123 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=true” 不幸的是,当我检查哪些端口被打开时,我发现了2个额外的随机端口: netstat -plunt | grep java Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 :::60555 :::* LISTEN 22752/java tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 22752/java tcp 0 0 :::9123 :::* LISTEN 22752/java tcp 0 0 :::40867 :::* LISTEN 22752/java 我想JMX应该打开一个额外的端口JMX启用的Java应用程序似乎在JMX客户端连接时打开一个随机的高阶端口 为什么Tomcat中的JMX会打开2个额外的端口? 如何配置这些端口? […]

ClassCastException无法将数据源强制转换为javax.sql.ConnectionPoolDataSource

我得到了这个例外: java.lang.ClassCastException: org.apache.tomcat.jdbc.pool.DataSource cannot be cast to javax.sql.ConnectionPoolDataSource 当我尝试运行我的webapp(在Tomcat6中)时,使用与Tomcat7无缝协作的tomcat jdbc池 我已经在tomcat 6 lib文件夹中包含了这些jar: tomcat-jdbc.jar tomcat-juli.jar 可能是什么问题呢? 更新: protected static Connection getConnection() throws NamingException, SQLException { InitialContext cxt = new InitialContext(); String jndiName = “java:/comp/env/jdbc/MyDBHrd”; ConnectionPoolDataSource dataSource = (ConnectionPoolDataSource) cxt.lookup(jndiName); // ClassCastException here…. PooledConnection pooledConnection = dataSource.getPooledConnection(); Connection conn = pooledConnection.getConnection(); return conn; // Obtain connection […]

Maven尝试部署到localhost而不是远程服务器

这是我的pom.xml构建配置: cfwd maven-compiler-plugin 2.3.2 1.6 1.6 org.apache.tomcat.maven tomcat7-maven-plugin 2.0 http://xx.xxx.xxx.xxx:8080/manager/text cifServer /cfwd true true 其中http://xx.xxx.xxx.xxx:8080是远程服务器IP。 当我尝试通过mvn tomcat:deploy我收到此错误: [错误]无法在项目cfwd上执行目标org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(default-cli):无法调用Tomcat管理器:服务器返回HTTP响应代码:403 for URL: http://localhost:8080/manager/deploy?path=%2Fcfwd&war= – > [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException:无法执行目标org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy(默认-cli)关于项目cfwd:无法调用Tomcat管理器 它看起来像maven试图部署到localhost:8080而不是远程服务器IP。 任何想法?

executeQuery()方法不能在PreparedStatement或CallableStatement上获取参数。 错误

我在尝试连接和检索数据库中的数据时遇到此类错误。 executeQuery()方法不能在PreparedStatement或CallableStatement上获取参数。 我的代码是这样的。 String search = request.getParameter(“searchstudent”); out.println(search); String connectionURL = “jdbc:sqlserver://localhost:1433;databaseName=Chingdb; integratedSecurity=true;”; Connection connection = null; PreparedStatement pstatement = null; Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”); ResultSet rs = null; int updateQuery = 0; if(request.getParameter(“editstudent”)!= null){ try { connection = DriverManager.getConnection(connectionURL, “root”, “root”); String queryString = “SELECT P_ID, lname, fname, mname FROM stu_info Where lname = ?”; pstatement = […]

当’hibernate.dialect’没有设置hibernate4 tomcat7时,连接不能为null

我已经按照一些教程来设置一个使用spring的web应用程序,hibernate在tomcat上运行。 当我尝试运行我的应用程序时,我收到错误“当’hibernate.dialect’未设置时,连接不能为空” 我的hibernate.cfg.xml是 com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/myproject root root 我的pom.xml 4.0.0 com.myproject.controller myproject 1.0-SNAPSHOT war myproject Webapp http://maven.apache.org 3.1.1.RELEASE myproject-webapp org.apache.maven.plugins maven-compiler-plugin 3.1 ${jdk.version} ${jdk.version} net.leadware hibernate4-maven-plugin 1.0.1 repository.jboss.org-public JBoss repository https://repository.jboss.org/nexus/content/groups/public org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-webmvc-portlet ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-expression ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-aop ${spring.version} org.springframework […]

Java Web应用程序可以访问远程工作站上的智能卡读卡器吗?

我正在为一个现有的基于Java的Web应用程序开发一些新function。 Web应用程序本身托管在我们的一个内部服务器上,可以通过浏览器访问我们工厂的多个计算机终端。 该应用程序用于在我们的生产过程的各个阶段进行质量检查。 目前,用户需要通过从下拉列表中选择用户名并在进行每次质量检查之前输入密码来手动登录。 为了加快这个过程,我被要求实施智能卡读取登录。 我已经使用javax.smartcardio编写了一个实用程序类,我可以访问插入笔记本电脑的USB读卡器终端,从卡中读取ATR并在我在本地运行应用程序时使用信息登录到应用程序tomcat7服务器。 所以,在我的本地机器上,一切都很棒。 不幸的是,一旦我将应用程序部署到我们的Web服务器,我就再也无法检测到读卡器终端,因为我相信Java Web应用程序实际上正在寻找部署到它的机器上的读取器。 有什么方法可以让我的java代码通过与浏览器的交互访问插入远程工作站的读卡器? Web应用程序是用GWT编写的,我使用RPC调用来访问后端服务器端代码。 任何帮助是极大的赞赏。 读卡器代码非常简单,所以如果有帮助我会发布它: import java.util.List; import javax.smartcardio.Card; import javax.smartcardio.CardTerminal; import javax.smartcardio.TerminalFactory; public class SwipeCardUtil { private static org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(“hwslqc”); /** * @return ATR */ public static String readCardATR() { String ATR = “”; try { // Show the list of available terminals TerminalFactory […]

Tomcat:java.io.IOException:无法创建目标“xxx”目录“

我想将项目从一个位置备份到网络中的另一个位置。这个示例应用程序是用struts编写的。 这是通过使用org.apache.commons.io.FileUtils实现的。 我的问题在于,当我在netbeans 6.9 IDE tomcat服务器中运行此应用程序时,它的工作正常,但是当我尝试通过部署此应用程序WAR文件在apache tomcat 7.0服务器中运行此应用程序时,我得到的exception就像 java.io.IOException : Destination “xxx” directory cannot be created” 此目标路径是我们本地网络中的另一台计算机。 我假设某种netbeans IDE选项,当我在netbeans tomcat中运行它时,它允许tomcat服务器将文件夹复制到目标目录。 在哪里,如果我在tomcat服务器上运行这个应用程序某种tomcat文件权限是阻塞的。 源和目标都是共享文件夹。