Mam prostą aplikację Java, która musi być uruchomiona przez cały czas (również do automatycznego uruchamiania po restarcie serwera).
Myślałem o opakowaniu usług, ale wersja systemu Windows jest płatna.
Czy istnieje sposób, w jaki mogę skonfigurować Tomcat, aby automatycznie uruchamiał określoną klasę z projektu lub jakiekolwiek inne rozwiązanie, które mogłoby dać taki sam wynik?uruchamiam aplikację java non web na tomcat
Odpowiedz
Wydaje mi się, że potrzebna jest aplikacja (niezależnie od sieci lub nie sieci), która zaczyna się od tomcat w tym samym czasie.
Cóż, potrzebujesz prostej aplikacji internetowej, która rejestruje odbiornik (który nasłuchuje zdarzenia uruchomienia aplikacji, tj. Zdarzenia startowego tomcat) i uruchamia twoją klasę.
To bardzo proste w web.xml zadeklarować słuchacza tak:
<listener>
<description>application startup and shutdown events</description>
<display-name>ApplicationListener</display-name>
<listener-class>com.myapp.server.config.ApplicationListener</listener-class>
</listener>
iw was ApplicationListener klasa zaimplementować interfejs ServletContextListener. Oto przykład:
import java.io.File;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* Class to listen for application startup and shutdown
*
* @author HBR
*
*/
public class ApplicationListener implements ServletContextListener {
private static Logger logger = Logger.getLogger(ApplicationListener.class);
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
logger.info("class : context destroyed");
}
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext context = servletContextEvent.getServletContext();
///// HERE You launch your class
logger.info("myapp : context Initialized");
}
}
Szybkie google pokazuje kilka opcji:
- Java Service Wrapper (prawdopodobnie jeden wymienionych)
- Yet Another Java Service Wrapper (na bazie JSW i zaprojektowane, aby być w dużej mierze zgodny)
- Windows Service Wrapper (Każda aplikację jako obsługa, tylko Windows)
- Commons Daemon (jeden Tomcat używa)
Wreszcie, jeśli chcesz go w Tomcat (jako część aplikacji internetowej), to coś takiego jak Quartz Scheduler.
Spójrz na:
- http://wrapper.tanukisoftware.com/doc/english/download.jsp
- http://commons.apache.org/daemon/jsvc.html
Both pomoże Ci uruchomić aplikację Java jako usługa. Jeśli jednak chcesz uruchomić parę aplikacji z tomcat, możesz zaimplementować własną prostą aplikację internetową, która uruchamia twoją aplikację. Można użyć
- aplet, który zaczyna się na starcie serwera (skonfigurować to w web.xml)
- filtr HTTP
- ServletContextListener.
- 1. Jak prawidłowo zamknąć aplikację JAX-WS Spring na serwerze Tomcat?
- 2. Web danych na żywo w Java EE
- 3. Embedded vs Non-Embedded Java Server
- 4. Java Tomcat włączyć buforowanie
- 5. Program Java (Tomcat) zatrzymuje pamięć (RES na górze)
- 6. Jak wdrożyć zewnętrzną aplikację webową w tomcat?
- 7. Jak wdrożyć aplikację Spring Integration w Tomcat?
- 8. Jak mogę uruchomić aplikację Java na serwerze Apache 2.2 bez Tomcat?
- 9. Jak uruchomić aplikację Spring Boot bez wbudowanego tomcat?
- 10. Java rozpoczyna inną aplikację Java
- 11. Tomcat resetuje mój plik tomcat-users.xml
- 12. Konwersja programu konsoli Java na aplikację Webapp
- 13. Java, uruchom inną aplikację na pierwszym planie
- 14. Java 7 łamie aplikację SWT na OS X za pomocą Web Start
- 15. Jak wdrożyć aplikację internetową Java iskrzenie?
- 16. Java Web Starter AMI
- 17. web skrobanie java Początkujący
- 18. Jak debugować aplikację internetową Java w Netbeans?
- 19. Podział non-NA
- 20. php java bridge nie działa na tomcat 6
- 21. Tomcat & Spring Web - Class Not Found Wyjątek org.springframework.web.context.ContextLoaderListener
- 22. Java. Błąd podczas artefaktu rozmieszczenia Tomcat 8
- 23. Jak modularyzować (dużą) aplikację Java?
- 24. zminimalizować pamięć Tomcat "na połączenie"
- 25. Jak uaktualnić Tomcat na linux
- 26. Jak wdrożyć WAR z Maven na Tomcat?
- 27. mvn tomcat: run nie uruchamia Tomcat
- 28. Przydzielanie sterty Java dla Tomcat na instancji EC2
- 29. Uruchom aplikację w tomcat za pomocą maven z IntelliJ
- 30. Utwórz aplikację java serwera klienta
Czy prosty autostart to za mało? – kutschkem
Jaki to program? Czy ma interfejs użytkownika itp.? w przeciwnym razie możesz po prostu stworzyć tomcat contextListner lub serwlet, a metodą init możesz uruchomić swój program. – Sap
Brak interfejsu użytkownika. Aplikacja wysyła żądanie POST co 10 minut i analizuje wynik. Jedną z ważnych rzeczy jest to, że muszę również sprawdzać dane wyjściowe dziennika (System.out) – pantominas