アーカイブ「2016年01月」

jettyでtomcatJDBC poolを使っていたら、

以下のようなエラーに遭遇した。

java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype

というわけで、
pomを修正して、tomcat jdbc poolが使っているロガーの依存関係を排除した。

<dependency>
  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat-jdbc</artifactId>
  <version>8.0.28</version>
  <exclusions>
    <exclusion>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-juli</artifactId>
    </exclusion>
  </exclusions>
</dependency>

意外とわからなかった。。

投稿日時:2016年01月21日 13:56   カテゴリー:java   [コメントがあればどうぞ]

javaでsynchronizedブロックにて、

Stringを使うと、

異なるオブジェクトであっても、

文字列が同じであれば排他制御がかかる。

 

ただし、異なるオブジェクト・同一文字列で排他制御をかけるべきでない。

なぜなら、依存ライブラリ等でもしsyncrozinedブロックを使っていたら、

最悪デッドロック等もありえる。

(そんなライブラリはないと思うが。。)

 

これはStringの特性によるものなのだが、

いつか詳細を記載したいとは思う。

 

投稿日時:2016年01月07日 19:20   カテゴリー:java   [コメントがあればどうぞ]