Od lokálneho vývoja k živému serveru: Deploy Java REST na Tomcat s Mavenom

Vytvoriť Java REST službu je len polovica práce – skutočná výzva nastáva v momente, keď ju potrebujete nasadiť do produkčného prostredia. V tomto článku si krok po kroku vysvetlíme, ako prepojiť Maven, Tomcat a konfiguráciu databázy tak, aby vaša aplikácia fungovala spoľahlivo aj na živom serveri.

1. Prehľad pom.xml: Ako definovať závislosti pre REST, Hibernate a databázu

Správne nastavený pom.xml je základom pre budovanie a správu závislostí vašej aplikácie. V prípade Java REST služby budete potrebovať závislosti pre Jersey (REST framework), Hibernate (ORM) a JDBC ovládače pre konkrétnu databázu.

<dependencies>
  <dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.35</version>
  </dependency>

  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.6.15.Final</version>
  </dependency>

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.29</version>
  </dependency>
</dependencies>
  

Nezabudnite nastaviť aj plugin pre build WAR súboru:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>3.3.2</version>
    </plugin>
  </plugins>
</build>
  

2. Vytvorenie WAR súboru cez Maven a nasadenie na Tomcat Manager

Po nakonfigurovaní projektu stačí použiť príkaz:

mvn clean install

Výsledný WAR súbor nájdete v priečinku target/. Tento súbor môžete nahrať cez webové rozhranie Tomcat Manager (napr. na http://localhost:8080/manager) alebo skopírovať manuálne do priečinka webapps.

Pri deploymente cez webové rozhranie nezabudnite nastaviť prihlasovacie údaje v tomcat-users.xml.

3. Konfigurácia Tomcat serveru, datasources a resource definície

Tomcat vám umožňuje definovať databázové pripojenie (DataSource) centrálne pre všetky aplikácie. Pridajte konfiguráciu do $CATALINA_HOME/conf/context.xml:

<Resource name="jdbc/MyDB" 
          auth="Container"
          type="javax.sql.DataSource"
          maxTotal="100"
          maxIdle="30"
          maxWaitMillis="10000"
          username="dbuser"
          password="dbpass"
          driverClassName="com.mysql.cj.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/mydb"/>
  

Vo vašom kóde potom stačí použiť:

@Resource(name="jdbc/MyDB")

4. Riešenie chýb pri spúšťaní (classpath, verzie JDK, konfliktné knižnice)

Jednou z najčastejších chýb pri deploymente je konflikt verzií knižníc. Uistite sa, že:

Pri problémoch s načítaním DataSource sa uistite, že JDBC ovládač je v správnom priečinku (napr. lib/ Tomcat-u).

5. Aktualizácia a roll-back (základné princípy bezpečného deploy flow)

Bezpečný deployment znamená pripravenosť na zlyhanie. Odporúčané kroky:

V prípade problémov môžete aplikáciu jednoducho rollbacknúť nahratím predošlého WAR súboru alebo obnovením snapshotu servera.

Záver: Premeňte teóriu na prax

Deploy Java REST služby nemusí byť zložitý, ak máte jasný plán a rozumiete jednotlivým krokom. Všetko, čo ste sa tu naučili, si môžete prakticky vyskúšať na našom kurze Java REST služby s Hibernate a JPA.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite si náš ebook teraz výnimočne zdarma!!!

Viac informacií preberáme na kurze:

Kurz JAVAEEREST - Java REST - RESTful Web Services s Hibernate

Marián Knězek

 

Súvisiace články: