Category Archives: Java

Spring 4 framework + wildfly 20 log4j2 無法產生 log

解決這個問題需要做以下處理:

修改 wildfly logging 設定
Configuration > Subsystems > Logging > Configuration
將 Add Logging Api Dependencies 改為 false
maven pom 檔有以下 dependency

    <dependency>
    	<groupId>org.slf4j</groupId>
    	<artifactId>slf4j-api</artifactId>
    	<version>1.7.30</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.logging.log4j</groupId>
    	<artifactId>log4j-core</artifactId>
    	<version>2.13.3</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.logging.log4j</groupId>
    	<artifactId>log4j-api</artifactId>
    	<version>2.13.3</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.logging.log4j</groupId>
    	<artifactId>log4j-slf4j-impl</artifactId>
    	<version>2.13.3</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.logging.log4j</groupId>
    	<artifactId>log4j-jcl</artifactId>
    	<version>2.13.3</version>
    </dependency>
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

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