Tag Archives: Java

CentOS 以 systemd 管理 wildfy

WildFly 是 JBoss AP 的後繼版本,淵源可以參考這個 網址

啟動 WildFly 的指令是
<WILDFLY_HOME>/bin/standalone.sh

停止 WildFly 的指令是
<WILDFLY_HOME>/bin/jboss-cli.sh –connect command=:shutdown

以前的 CentOS 要寫一支 shell script 提供 start, stop, restart 等 method 來管理服務,現在 systemd 是 CentOS 7 的預設服務管理程式,作法跟過去版本不同而且簡化許多,步驟如下

1. 在 /usr/lib/systemd/system 目錄建立 wildfly.service 檔案內容如下

[Unit]
Description=WildFly application server
After=network.target

[Service]
Type=simple
User=jboss
Group=jboss
ExecStart=<WILDFLY_HOME>/bin/standalone.sh

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

2. 利用以下指令啟用 wildfly service

systemctl enable wildfly

3. 管理 wildfly service

systemctl start wildfly
systemctl stop wildfly

以上內容參考這個 網址

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Hibernate 5 project deploy 到 glassfish4 server 問題

在 Glassfish 4.1.1 server 上會出現以下 Exception 而無法 deploy

Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V

主要是 Hibernate 5 需要 jboss-logging-3.3.0.Final.jar 而 glassfish module 目錄內的 jboss-logging.jar 版本比較舊

解決的方法是將 jboss-logging-3.3.0.Final.jar copy 到 glassfish module 目錄內,再將原本的 jar 檔改名,處理好後要 清除 glassfish server 的 cache ,再重新啟動 glassfish server 即可

參考 網址

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Java 資料處理雜記

UFT-8 編碼的文字檔,存放含有中文字的 CSV 資料,這個檔案用 excel 開啟後中文卻變成亂碼

writer.write(“\ufeff”);

利用以上 java code 在檔案前面寫入 UTF BOM header 可解決這個問題

如何 parse ‘2016-12-27T00:30:00+08:00’ 這個帶有時區字串成為 Date 物件

SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ssX”);

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Glassfish 4 安裝 SSL certificate

Glassfish4 的憑證存放在 <glassfish 安裝目錄>/glassfish/domains/domain1/config 目錄內,先用以下指令匯入 CA 憑證

keytool -import -trustcacerts -alias myca -file ca.cer -keystore cacerts.jks

再利用以下指令匯入 server 憑證

keytool -importkeystore -srckeystore myserver.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS

匯入之後用 keytool -list -keystore keystore.jks 指令確認匯入憑證在 keystore 內的 alias

登入 admin console 後在選單 Configurations > server-config > HTTP Service > Http Listeners > admin-listener 設定的 SSL 頁籤把 Certificate NickName 改為剛才查到的 alias (預設為 ‘s1as’) 儲存後重新啟動 glassfish server 即可

備註:

  1. keystore 預設密碼為 changeit
  2. 匯出的 .p12 檔密碼似乎必須與 keystore 密碼相符
  3. glassfish 的 http-listener-2 是有 SSL 的 8181 port,設定憑證方式跟 admin console 相同
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Ant unable to find javac compiler

在 eclipse 下以 ant build java  project 時出現了這個訊息,主要是 eclipse 抓不到 jdk 的位置,解決的方案有2個:

  1. eclipse 的選單 Window -> Preferences,在左邊 Java -> Installed JREs 加入 JDK 環境 (預設為 JRE)
  2. 在系統環境變數指定 JAVA_HOME
  3. 參考 這篇文章 啟動 eclipse 時明確指定 jdk 路徑

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...