Migrering till 2.0
Uppgradering från release 1.5.5 till release 2.1.0
Om du har version före 1.5.5 då måste man migrera hela vägen till 1.5.5
Notera
Efter uppgradering av Tjänsteadressingskatalogen krävs en omstart av Tomcat, ett känt fel som registrerats i JIRA SKLTP-307. Följande ses i loggen och kräver en omstart av Tomcat.
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql://localhost:3306/tp_admin?autoReconnect=true'
... 1 more
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:264)
... 1 more
Stoppa tomcat server
#sudo service tomcat status sudo service tomcat stop tak
Köra en databas dump
$ sudo /usr/bin/mysqldump -h ine-<miljö>-mysql01.sth.basefarm.net takv2 -u <anvander-namn> -p > /www/inera/home/<anvandare>/backup/<databas-namn>-dump-<datum>.sql
Köra script för att uppdatera Tjänsteadressingskatalogen med nya tabeller
Obs: Om du redan har tillgång till patch-tak-versioner.sql då kan man hoppa över till steg 3.
- Ladda ner distributionen av Tjänsteadresseringskatalogen som innehåller sql-script
wget http://central.maven.org/maven2/se/skltp/tak/tak-parent/2.1.0/tak-parent-2.1.0-dist.tar.gz
2. Packa upp distributionen som bla innehåller databasscript
tar -xzf tak-parent-2.1.0-dist.tar.gz
3. Kör scriptet i MySQL
$ mysql -u <anvandar-namn> -p mysql> use <databas-namn>; mysql> source tak-parent-2.1.0/sql/v2.0.0/patch-tak-versioner.sql
Om tillägget av tabeller går fel kontakta då tjänsteplattforms-supporten.
Verifiera att databasen uppdaterats med rätt tabeller genom följande kommando:
mysql> show table status from <databas_namn>;
Föregående kommando bör resultera i 11 rader och Collation lika med 'utf8_general_ci'.
mysql> SELECT INDEX_NAME, COLUMN_NAME, TABLE_NAME, NON_UNIQUE FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = <databas_namn>;
Verifiera att resultat blir 59 rader i denna version:en.
Köra javaprogram för att generera publicerad version i Tjänsteadressingskatalogens databas
Skapa en temporär folder och utför nedanstående kommandon där
$ mkdir tak-web-extract $ cd tak-web-extract
$ wget http://central.maven.org/maven2/se/skltp/tak/tak-web/2.1.0/tak-web-2.1.0.war
$ sudo /local/java/1.7.0/bin/jar -xvf /tmp/tak-web-extract/tak-web-2.1.0.war
mysql driver samt hibernate bibliotek behöver laddas ner.
Windows:
Spara filer under tak-web-extract/
$ "C:\\Program Files\\Internet Explorer\\iexplore.exe" https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.27/mysql-connector-java-5.1.27.jar $ "C:\\Program Files\\Internet Explorer\\iexplore.exe" https://repo1.maven.org/maven2/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar
Linux:
$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.27/mysql-connector-java-5.1.27.jar $ wget https://repo1.maven.org/maven2/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar
Ändra innehållet (server-url, databas-namn, användarnamn, och lösenord) i konfigurationsfilen och spara den som tak-config-V2.xml under tak-web-extract\
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <!-- post-processors for all standard annotations --> <context:annotation-config /> <!-- lookup all @Service, @Repository --> <context:component-scan base-package="se.skltp.tak"/> <!-- enable @Transactional processing --> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true" /> <property name="generateDdl" value="false" /> <property name="database" value="MYSQL" /> </bean> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://<server-url>:3306/<databas-namn>" /> <property name="username" value="<användarnamn>" /> <property name="password" value="<lösenord>" /> </bean> </beans>
Sista steg:
Kör programmet enligt nedan och slå Enter för att spara genererad data till databasen. (ersätta : med ; i Windows)
$ sudo /local/java/1.7.0/bin/java -cp "./mysql-connector-java-5.1.27.jar:./hibernate-entitymanager-3.4.0.GA.jar:./WEB-INF/lib/*" se.skltp.tak.core.util.InitializeDB file:./tak-config-V2.xml
Verifiera att första version (Core Version) är skapad och sparad i databasen. Frågan ska returnera en rad (antal rader lika med 1) med dataSize > 0;
mysql> select id, kommentar, time, utforare, version, storlek from Pubversion;
Driftsätta tak-web
Se till att stänga ned tomcatinstansen innan nedanstående steg görs. Detta för att undvika att tomcatprocessen hänger sig vid installationen.
Ladda ner distribution av tak-web
wget http://central.maven.org/maven2/se/skltp/tak/tak-web/2.1.0/tak-web-2.1.0.war
Under /www/inera/war/tak/ skapas länkar till den faktiska war filen, flytta tak-web.2.0.war till /www/inera/war/tak/releases/tak-web.war
cd /www/inera/war/tak/ sudo ln -sf ../../releases/tak-web.war tak-web.war
Driftsätta tak-services
Ladda ner distribution av tak-services
wget http://central.maven.org/maven2/se/skltp/tak/tak-services/2.1.0/tak-services-2.1.0.war
Under /www/inera/war/tak/ skapas länkar till den faktiska war filen, flytta tak-services.2.1.0.war till /www/inera/war/tak/releases/tak-services.war
cd /www/inera/war/tak/ sudo ln -sf ../../releases/tak-services.war tak-services.war
#sudo service tomcat status sudo service tomcat start tak
Verifiera installationen enligt nedan.
Verifiera installationen
Gå till http://<miljö>:8080/tak-web/ och se att inloggningsfönster för Tjänsteadresseringskatalogens admingui kommer upp.
Gå till http://<miljö>:8080/tak-services och se att de tjänster som exponeras av Tjänsteadresseringskatalogen kommer upp.
Reset cache på TAK publicerad version
http://<miljö>/tak-services/reset/pv
Gör en reset cache i SKLTP VP för att säkerställa att anropsbehörigheter och routinginformation hämtas korrekt från Tjänsteadresseringskatalogen, http://<miljö>:23000/resetcache. Värdet att titta på här är "Succesfully saved virtualizations and permissions to local TAK copy: /home/mule/.tk.devtest.localCache" som indikerar att uppdateringen av den lokala TAK cachen har gått bra.