« 2019年10月 | トップページ

2019年11月

2019年11月15日 (金)

WildFly18 へのアップデート

だらだらと WildFly 10.2.0 を使い続けていたが,ついに重い腰を上げてアップデートすることにした。

WildFly 18.0.1 の準備

WildFly の GitHub から branch 18.0.x を選択,"Download Zip" して解凍する。作業時点ではこれで 18.0.1.Final がダウンロードされた。

mac で WildFly 18.0.1 のビルド

brew をアップデートして mvn と ant を最新にしておく。

$ brew update ; brew upgrade

しかる後に build。ちなみに,java はまだ 1.8.0 のままである。

$ mvn install
[INFO] Scanning for projects...
Downloading: https://repo.maven.apache.org/maven2/org/jboss/jboss-parent/35/jboss-parent-35.pom
 :
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  17:02 min
[INFO] Finished at: 2019-11-01T09:17:17+09:00
[INFO] ------------------------------------------------------------------------

これで wildfly-18.0.1.Final-SNAPSHOT ができる。WildFly 10.2.0 と同じく,full distributable build が欲しい場合は,build/target ではなく,dist/target の方を使う必要がある。

WildFly 18.0.1 のセットアップ

  • ./standalone.sh -b 0.0.0.0 で立ち上げて,./add-user.sh で管理ユーザ登録
  • JDBC の登録(ドライバは postgresql-42.2.8.jar),data-source の作成,パスワード登録
    $ ./jboss-cli.sh --connect
    [standalone@localhost:9990 /] module add --name=org.postgres --resources=~/Downloads/postgresql-42.2.8.jar --dependencies=javax.api,javax.transaction.api
    [standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
    [standalone@localhost:9990 /] data-source add --jndi-name=java:jboss/datasouces/DolphinDS --name=DolphinDS --connection-url=jdbc:postgresql://localhost/dolphin --driver-name=postgres --user-name=dolphin
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=DolphinDS:write-attribute(name=password, value=dolphin)
    [standalone@localhost:9990 /] quit
    

OpenDolphin の修正

WildFly 18 の pom.xml に合わせて,OpenDolphin クライアント・サーバの pom.xml のバージョンを変更する。
これでサーバは動いたが,ログに warning が出ていた。

WARN  [org.hibernate.orm.deprecation] (ServerService Thread Pool -- 76) HHH90000014: 
Found use of deprecated [org.hibernate.id.SequenceGenerator] sequence-based id generator; 
use org.hibernate.id.enhanced.SequenceStyleGenerator instead.  
See Hibernate Domain Model Mapping Guide for details.

persistence.xmlhibernate.id.new_generator_mappings を false にして互換性を保っていたが,これだと deprecated になった SequenceGenerator を使うことになるので何とかしろと言うことらしい。Hibernate ORM 5.3.13.Final User Guide を見ると hibernate.model.generator_name_as_sequence_name のところに "Users migrating from earlier versions using the legacy hibernate_sequence name should disable this setting." と書いてあったので,hibernate.id.new_generator_mappings を消して hibernate.model.generator_name_as_sequence_name に書き換えた。

起動時に dolphin サーバを立ち上げる

wildfly を起動時に立ち上げるために /etc/init.d/jboss スクリプトを作ってルート権限で起動していたが,init.d システムは時代遅れらしく,この機会に /home/dolphin/ に wildfly を置いて,cron を使って dolphin ユーザ権限で wildfly を立ち上げることにした。lucene index も /var/lucene ではなく,${jboss.server.base.dir}/lucene に置くことにした

$ echo "@reboot /home/dolphin/wildfly-18.0.1.Final-SNAPSHOT/bin/standalone.sh -b dolphin.server.ip.addr > /dev/null 2>&1" | crontab

lucene index の作り直し

エントリー数は WildFly 10 に移行した 2017年 の 219,617 件から 259,968 件に増加したが,爆速新サーバのおかげでインデックス作成は 1時間30分で完了。

2019-11-13 08:32:00,532 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: identifierloader-1) HSEARCH000027: Going to reindex 259968 entities
2019-11-13 08:32:01,854 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: entityloader-7) HSEARCH000030: 50 documents indexed in 1055 ms
 :
2019-11-13 10:02:34,091 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: entityloader-8) HSEARCH000031: Indexing speed: 47.843922 documents/second; progress: 99.99%
2019-11-13 10:02:36,021 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (default task-4) HSEARCH000028: Reindexed 259968 entities

WildFly アップデート記録
  • 2008年 JBossAS 4.0.5
  • 2009年 JBossAS 4.2.3
  • 2010年 JBossAS 5.1.0
  • 2013年 JBossAS 7.1.4
  • 2015年 WildFly 8.2.1
  • 2017年 WildFly 10.2.0
  • 2019年 WildFly 18.0.1

2019年11月 8日 (金)

orca 5.1 に移行

今更ながら orca 5.0 を orca 5.1 にアップグレードしてみた(ubuntu 16.04)。OpenDolphin の方は,何も変更しなくて大丈夫だった。
  1. まずは最新状態までアップデート
    $ sudo aptitude update
    $ sudo aptitude upgrade
    $ sudo apt-get autoremove
    $ sudo reboot
    
  2. データベースのスキーマチェック
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz 
    $ tar xvzf jma-receipt-dbscmchk.tgz
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    ORCA Project Jma-Receipt Database Schema Check (3.0.3)
    == Operating System information ==
      Linux orca 4.4.0-166-generic #195-Ubuntu SMP Tue Oct 1 09:35:25 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=16.04
      DISTRIB_CODENAME=xenial
      DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
    == Database System information ==
      PostgreSQL version 9.5
      Database Name : orca
    == Package information ==
      ii  jma-receipt    1:5.0.0-u5jma1 amd64        JMA Standard Receipt Computer Software
      version   5.0.0-1 (050000-1)
      ii  panda-server   1:2.0.0+p59-u5jma1 amd64        OLTP monitor and client server GUI(server)
    == Schema Check information ==
      Jma-Receipt Schema Version (050000-1)
      チェックファイル(public):[ orcadbschema-sum-public.ver500 : 2019-10-10 15:50:36 ]
      チェックファイル(public):[ orcadbschema-public.ver500 : 2019-10-10 16:00:30 ]
      チェックファイル(master):[ orcadbschema-master.ver500 : 2018-11-13 15:05:43 ]
    現在のスキーマバージョンは5.0.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  3. apt line の更新
    $ sudo rm /etc/apt/sources.list.d/jma-receipt-xenial50.list
    $ sudo wget -O /etc/apt/sources.list.d/jma-receipt-xenial51.list https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial51.list
    
  4. update and upgrade
    $ sudo aptitude update
    $ sudo aptitude upgrade
    以下のパッケージが更新されます:
      jma-receipt jma-receview libmondai1 monpe monpe-common monpe-libs panda-dev panda-libs panda-server
    9 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
    39.1 M バイトのアーカイブを取得する必要があります。 展開後に 8,031 k バイトのディスク領域が新たに消費されます。
    先に進みますか? [Y/n/?] y
     :
    設定ファイル '/etc/jma-receipt/jppinfo.list'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。
       どうしますか? 以下の選択肢があります:
        Y か I  : パッケージメンテナのバージョンをインストールする
        N か O  : 現在インストールされている自分のバージョンを残す
          D     : 両バージョンの差異を表示する
          Z     : 状況を調査するためにシェルを開始する
     デフォルトでは現在使っている自分のバージョンを残します。
    *** jppinfo.list (Y/I/N/O/D/Z) [デフォルト=N] ? y
     :
    現在の状態: 0 (-9) upgradable。
    
  5. ORCA プロジェクト・センターサーバ更新による特別処理
    $ wget http://ftp.orca.med.or.jp/pub/etc/install_modules_for_ftp.tgz 
    $ tar xvzf install_modules_for_ftp.tgz
    $ cd install_modules_for_ftp
    $ ./install_modules.sh
    Copying cachedl.rb ... done.
    Copying orcadt_verify.rb ... done.
    Copying master_license_upgrade.sh ... done.
    Copying migrate-v51_master_license_upgrade.sh ... done.
    
  6. データベースセットアップ
    $ sudo jma-setup
    DBHOST:         OK (PostgreSQL:localhost)
    DBUSER:         OK (orca)
    DATABASE:       OK (orca)
    DBENCODING:     OK (EUC-JP)
    DBKANRI         OK (tbl_dbkanri)
    UPDATE CHECK:   OK (online)
    DBLIST:         OK (050100-1)
    LIST DOWNLOAD:  FILE (58)
    DOWNLOAD:       ..........................................................OK
    EXTRACT:        ..........................................................OK
    UPDATE:         ..........................................................OK
    DBVERSION:      OK (0501001)
    データベース構造変更処理は終了しました
    
  7. sky.sh 様の帳票用パッケージリストを追加
    $ sudo vi /etc/jma-receipt/jppinfo.list
    ---
    :root: /var/lib/jma-receipt/plugin
    :list:
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist1.yml
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist2.yml
     - http://www.sky.sh/orca/plugin/5.1.0/skysh.yml
    :linkprefix: /usr/local/site-jma-receipt
    :verify: true
    
  8. 古い帳票情報を削除
    $ psql orca -c "delete from tbl_plugin where name='skysh';"
    DELETE 1
    
  9. sky.sh 様のキーリングの確認
    $ gpg --list-keys
    /home/orca/.gnupg/pubring.gpg
    -----------------------------
    pub   1024D/ED7FC485 2010-01-29
    uid                  support (plugin) 
    sub   2048g/A033594A 2010-01-29
    
    pub   2048R/268E931D 2013-09-21
    uid                  skysh (hasegawa) 
    sub   2048R/E4A273AB 2013-09-21
    
    sky.sh 様のキーリングがない場合は入れる
    $ wget http://www.sky.sh/orca/plugin/skysh.pub
    $ gpg --import skysh.pub
    
  10. ここで一旦リブート
  11. monsiaj でアクセスすると
    「マスタデータ移行処理が未実施です。管理者まで連絡してください」と表示されるが無視する。
  12. プラグイン更新(地方公費, 帳票, sky.sh様) → プログラム更新 → マスタ更新
  13. エラー確認とスキーマチェック
    $ grep ERROR /var/log/jma-receipt/orca-db-install-5.1.0.log
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    

マスタデータの移行処理

  1. 保険者マスタの更新
    $ wget http://ftp.orca.med.or.jp/pub/etc/tools/jma-master-setup.tgz 
    $ tar xvzf jma-master-setup.tgz
    $ cd jma-master-setup
    $ ./jma-master-setup -h
    使用法: jma-master-setup [オプション] <医療機関識別番号>
    処理内容
      -c       : 整合チェック(デフォルト)
      -r       : セットアップ(マスターデータ置換)
    マスタ指定(必須):
      -m    7  : 相互作用マスタ
            9  : 保険者マスタ
      -h    このヘルプを表示する
    バグを発見したら  宛に報告してください
    
    $ ./jma-master-setup -r -m 9 1
    セットアップ処理を開始します。よろしいですか? (Y/N):y
    セットアップデータをダウンロードします。
    セットアップデータをダウンロードしました。
    保険者マスタ セットアップデータについて
      管理番号 :[ R-040200-1-20190528-1 ]
      作成日  :[ 2019-05-31 13:54:38 ]
      レコード数:[ 23760 ]
    DELETE 23760
    COPY 23760
    UPDATE 23760
    UPDATE 1
    従サーバへの処理、又はリプリケーションを確認してください。
    
  2. マスタデータ移行処理 (結構時間かかる)
    $ sudo /usr/lib/jma-receipt/patch-lib/scripts/tools/jma-migrate
    マスタデータ移行処理を行います。
    よろしいですか? (y/n) y
    処理を開始しました : 2019-10-29 16:36:28
    該当テーブルをバックアップします。[/var/tmp/jma-migrate-v51]
    マスタ更新処理を行います。
    マスタ更新処理 医療機関識別番号 [ 01 ] 開始
     :
    点数テーブルは終了しました。
    点数付加テーブルを開始します。
    2019/10/29/16:50:26 P:dbstub_main.c:217:module ORCBMIGTENSUPLUS: 01,
    *(ORCBMIGTENSUPLUS)* SRYCD KENSU [       0 ]
    点数付加テーブルは終了しました。
    データ移行処理 医療機関識別番号 [ 01 ] 終了
    移行対象テーブルを削除しました。
    処理は終了しました : 2019-10-29 16:50:27
    
  3. 処理結果の確認
    $ ls /var/log/jma-receipt/*-prf.csv
    /var/log/jma-receipt/01ORCBMIGADRS-prf.csv      /var/log/jma-receipt/01ORCBMIGSRYCDCHG-prf.csv
    /var/log/jma-receipt/01ORCBMIGCHK-prf.csv       /var/log/jma-receipt/01ORCBMIGTENSU-prf.csv
    /var/log/jma-receipt/01ORCBMIGHKNJAINF-prf.csv
    
  4. monsiaj でマスタ更新,その後 terminal でログの確認
    ERR ファイルができたけど,これは問題なさそう。
    $ find /var/lib/jma-receipt/master/01/orca-mstlog -maxdepth 1 -size +0c -name "*.ERR"
    /var/lib/jma-receipt/master/01/orca-mstlog/ORCADBR-20160414-1.dat.ERR
    $ cat /var/lib/jma-receipt/master/01/orca-mstlog/ORCADBR-20160414-1.dat.PRF | iconv -f EUC-JP
    【PGID:ORCMUP0202.CBL】   2016.05.19  01
    削除対象なし                   D,190141610,
    入院レセ記載略称マスタ登録済み I,190141610,復リ入1
    削除対象なし                   D,190141710,
    入院レセ記載略称マスタ登録済み I,190141710,復リ入1生
    削除対象なし                   D,190141810,
    入院レセ記載略称マスタ登録済み I,190141810,復リ入2
    削除対象なし                   D,190141910,
    入院レセ記載略称マスタ登録済み I,190141910,復リ入2生
    削除対象なし                   D,190138010,
    入院レセ記載略称マスタ登録済み I,190138010,後使
    削除対象なし                   D,190121010,
    入院レセ記載略称マスタ登録済み I,190121010,精救$ cat /var/log/jma-receipt/
    
  5. monsiaj の初期画面で F8「診療情報」で確認。
    マスタデータ移行という表示が出る。件数>0 のものがユーザー管理に移行されたマスタ。
    Ver5.1 点数マスタ移行処理(ORCBMIGTENSU),処理日,2019.10.30,01,元町皮ふ科
    結果,診療コード,開始日,終了日,名称,内容,項目,オリジナル,ユーザ,更新日
    ユーザー管理,739200000,20140401,99999999,液体酸素・定置式液化酸素貯槽(CE),項目値変更,旧点数/金額,0.19000,
    0.18000,20191030
    特定器材,739210000,00000000,20140331,液体酸素・可搬式液化酸素容器(LGC),金額,,,0.30,20190930
    特定器材,739210000,20140401,99999999,液体酸素・可搬式液化酸素容器(LGC),金額,,,0.31,20190930
    特定器材,739220000,00000000,20140331,酸素ボンベ・大型,金額,,,0.40,20190930
    特定器材,739220000,20140401,99999999,酸素ボンベ・大型,金額,,,0.41,20190930
    特定器材,739230000,00000000,20140331,酸素ボンベ・小型,金額,,,2.25,20190930
    特定器材,739230000,20140401,99999999,酸素ボンベ・小型,金額,,,2.31,20190930
    特定器材,739240000,00000000,20060331,液体酸素・定置式液化酸素貯槽(CE)(離島等),金額,,,0.30,20190930
    特定器材,739240000,20060401,20140331,液体酸素・定置式液化酸素貯槽(CE)(離島等),金額,,,0.27,20190930
    特定器材,739240000,20140401,99999999,液体酸素・定置式液化酸素貯槽(CE)(離島等),金額,,,0.28,20190930
    特定器材,739250000,00000000,20140331,液体酸素・可搬式液化酸素容器(LGC)(離島等),金額,,,0.45,20190930
    特定器材,739250000,20140401,99999999,液体酸素・可搬式液化酸素容器(LGC)(離島等),金額,,,0.46,20190930
    特定器材,739260000,00000000,20140331,酸素ボンベ・大型(離島等),金額,,,0.60,20190930
    特定器材,739260000,20140401,99999999,酸素ボンベ・大型(離島等),金額,,,0.62,20190930
    特定器材,739270000,00000000,20140331,酸素ボンベ・小型(離島等),金額,,,3,20190930
    特定器材,739270000,20140401,99999999,酸素ボンベ・小型(離島等),金額,,,3.,20190930
    
    当院に関係するものはなし。

« 2019年10月 | トップページ