我有一个调用MMQ侦听器的Java Servlet。我正在Tomcat服务器中部署应用程序
AppServlet.java
package com.cisco.cstg.platform;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AppServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
MessageListenerImpl m;
public void init(ServletConfig config) throws ServletException {
//super.init(config);
//MainApp.main(null);
m = MainApp.init();
MainApp.start(m);
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
PrintWriter out = res.getWriter();
boolean dbStatus = EMANApi.isDBUpAndRunning();
if (dbStatus == true) {
out.print("SUCCESS");
} else {
out.print("FAILED");
}
}
public void destroy() {
MainApp.stop(m);
}
}
package com.cisco.cstg.platform;
import com.cisco.cstg.utilities.UtilClass;
public class MainApp {
public static final org.apache.log4j.Logger log = org.apache.log4j.Logger
.getLogger(MainApp.class);
// Input arguments
public static long keepAliveMinutes = 1L;
public static boolean debug;
public static void main(String args[]) {
MainApp.fetchArgs(args);
initLogging();
if (debug)
log.info(UtilClass.getCurrentDate()
+ "Run Connector Message App for reading the queue");
MessageListenerImpl m = MainApp.init();
MainApp.start(m);
UtilClass.keepAlive(keepAliveMinutes);
// MainApp.stop(m);
if (debug)
log.info(UtilClass.getCurrentDate()
+ "Run Connector CSOC Message App");
}
private static void fetchArgs(String[] args) {
debug = log.isDebugEnabled();
keepAliveMinutes = Integer.MAX_VALUE; // value is 2147483647 ms
if (debug)
log.info(UtilClass.getCurrentDate() + "Found keepAliveMinutes: "
+ keepAliveMinutes + " debug: " + debug);
}
private static void initLogging() {
if (debug)
log.info(UtilClass.getCurrentDate() + "::initLogging Started");
if (debug)
log.info(UtilClass.getCurrentDate()
+ "::Log level set"
+ UtilClass.getProperties().getProperty(
UtilClass.PropertyKeys.PROP_LOG_LEVEL));
}
public static MessageListenerImpl init() {
if (debug)
log.info(UtilClass.getCurrentDate()
+ "::Instantiating MessageListenerImpl");
MessageListenerImpl m = new MessageListenerImpl();
if (debug)
log.info(UtilClass.getCurrentDate()
+ "::Instantiated MessageListenerImpl");
return m;
}
public static void start(MessageListenerImpl m) {
if (debug)
log.info(UtilClass.getCurrentDate() + "::Starting instance");
m.start();
if (debug)
log.info(UtilClass.getCurrentDate() + "::Started instance");
}
public static void stop(MessageListenerImpl m) {
if (debug)
log.debug(UtilClass.getCurrentDate() + "::Stopping instance");
m.stop();
System.exit(1); // to stop the java program
if (debug)
log.debug(UtilClass.getCurrentDate() + "::Stopped instance");
}
}
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>com.cisco.cstg.platform.AppServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/eman</url-pattern>
</servlet-mapping>
当我在MainApp.init()方法中调用MainApp中的debug和其他方法时,这个问题得到了解决。
我正试图在我的tomcat manager上启动我的网络应用程序,但它没有启动。我正在读取webapp的日志文件,出现以下错误: 8-giu-2017 9.41.12org.apache.catalina.core.标准上下文启动GRAVE:错误listenerStart 8-giu-2017 9.41.12org.apache.catalina.core.标准上下文启动GRAVE: Contex
问题内容: 我在CentOS 6.6 32位和openJDK7上使用Tomcat 7.0.57。当我在服务器(生产环境)上启动14个不同的Tomcat实例时,它们中的许多启动时间都太多了。 这是启动日志的一部分,它告诉我所有时间都花在哪里 解决此问题的最佳实践/解决方案是什么? 谢谢! 问题答案: 安全的随机调用可能会被阻止,因为没有足够的熵来将它们提供给/ dev / random。 如果你有线
我构建了一个侦听JMS.queue的简单MDB应用程序,并将其部署在IBM WARS 8.5.5上(使用IBM MQ作为JMS代理),当尝试启动它时,我收到以下错误(对不起,西里尔符号,尝试仔细翻译): 我的消息驱动ejb-mdb模块MDBListener.java: ejb-mdb模块ejb-jar.xml: ejb-mdb模块ibm-ejb-jar-bnd.xml:
我在我的应用程序中使用Jasper报表生成报表。我还提供了下载PDF/CSV格式报告的设施。但我面临的问题是,每当我上传一个新的war文件(无论是否对用于设计报告的JRXML文件进行了更改)时,我都必须启动/停止tomcat服务器。除非我这样做,否则我无法生成报告。没有看到日志,没有发生任何事情,也没有生成报告。当我重新启动服务器时,一切都像一个魅力一样开始工作。生成报告,其他一切都很好。为什么会
我检查了它引用的目录,有一个catalina.sh文件,但没有。bat文件。有谁知道获取这个文件的提示或者如何让NetBeans运行。sh文件吗?
它构建应用程序并按预期将其部署到Jetty。 现在我也想将相同的应用程序部署到Tomcat7,为了实现同样的目的,我运行了gradle war任务,如下所示: 运行该任务后,我可以在中看到deploy-1.0.war,当我试图将它部署到Tomcat7时,Tomcat没有接收到它。 我的问题是--我需要应用任何附加的插件来使应用程序可部署到Tomcat7吗? 多谢了。