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

Uppdatera miljö, databasnamn mm
$ 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.

  1. 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.