jboss 4.2.3でhot deployを無効にする方法

メモ

JBOSSホットデプロイは便利でデフォルトでは有効ですが、無効にする場合の手順メモ
jboss 4.2.3では下記の方法でした。
conf/jboss-service.xmlで下記行を修正する


name="ScanEnabled">true  有効(デフォルト)
name="ScanEnabled">false  無効


Jboss5以降は下記の方法(未確認)
deploy/hdscanner-jboss-beans.xmlで下記行を修正する

name="scanEnabled">true 有効
name="scanEnabled">false   無効

変更を有効にするにはJBOSSの再起動が必要です。

参考ページ:
http://www.mastertheboss.com/jboss-server/jboss-deploy/how-to-configure-jboss-to-disable-hot-deployment
https://access.redhat.com/documentation/ja-JP/JBoss_Enterprise_Application_Platform/5/html/Administration_And_Configuration_Guide/Architecture_Hotdeployment.html

JavaプログラムでdnsキャッシュTTLをコントロールする

linuxもnscdとかサービスを入れないとキャッシュしてくれない。
javaはデフォルトでDNSのキャッシュをしてくれない。

javaプログラムでdnsのキャッシュをしたいときには、起動オプションで設定できるようなので実験してみました。
(参考)
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/net/properties.html

networkaddress.cache.ttl(デフォルト: -1)-1はずっとキャッシュするってことらしい
networkaddress.cache.negative.ttl (デフォルト: 10)


http://www.glamenv-septzen.net/view/1346 からサンプルプログラムを借りてきて
適当に
Thread.sleep(10 * 1000);
などいれて以下のような感じで実行してみたところ、プログラム実行中は1回しかクエリされませんでした。

java -Dnetworkaddress.cache.ttl=60 プログラム
java -Dnetworkaddress.cache.negative.ttl=0 プログラム


jbossなどで実装する場合にはrun.confのJAVA_OPTS=〜に同じようにセットしてあげれば良いと思います。

Linux環境であればnscdとか入れて普通にキャッシュした方が良いかもしれません。nscdは)


参考にしたページ:
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/net/properties.html
http://www.glamenv-septzen.net/view/1346
http://qiita.com/arai-wa/items/492d91d85a7473007e37

メモ:apache(2.4.6)からajp(mod_jk)でjbossへ接続しようとして繋がらないエラー(ipv6が原因)

RHEL7.2でapache(2.4.6)からajpmod_jk)でjbossへ接続しようとして繋がらないエラーがあったので備忘録に残す。


mod_jkコンパイル、インストールは割愛

普通に設定してjbossアプリをapache経由でajp接続で表示するようにしたいがなぜか繋がらない

/var/log/httpd/mod_jk.log
[Mon May 09 19:58:57.604 2016] [8022:140172492949568] [info] jk_open_socket::jk_connect.c (817): connect to ::1:8009 failed (errno=111)
[Mon May 09 19:58:57.604 2016] [8022:140172492949568] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1068): (ajp13) Failed opening socket to (::1:8009) (errno=111)
[Mon May 09 19:58:57.604 2016] [8022:140172492949568] [error] ajp_send_request::jk_ajp_common.c (1728): (ajp13) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
[Mon May 09 19:58:57.604 2016] [8022:140172492949568] [info] ajp_service::jk_ajp_common.c (2773): (ajp13) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)

telnetで8009に突いても反応あるので、firewallの問題でもなく、jbossでも8009をリスンしていることまでは分かっていたが、上のログで「connect to ::1:8009 failed」となっていたので、ipv6のローカルホストを使っていることが判明。

で、ipv6を無効にして、無事ajpがアクセスできるようになったことを確認。
/var/log/httpd/mod_jk.logにはログは表示されません。

以下の方法でipv6を無効にしました。

# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
# echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

もしくは下記でもいけるみたいです。

# sysctl -w net.ipv6.conf.all.disable_ipv6=1
# sysctl -w net.ipv6.conf.default.disable_ipv6=1

(ただしこのやり方だと再起動後にはipv6がまた有効になってしまう)

#追記(5/11)
/etc/hostsの中の一部を修正して"localhost"で"::1"が応答しないようにしました。

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  ↓
::1         localhost.localdomain localhost6 localhost6.localdomain6

備忘録 Windows10でHyper-Vを入れると

Windows10 Proでhyper-Vが使えるから先日アップグレードした後にHyper-Vを有効にしてみたところ、これまで使っていたVirtualboxで、「VT-xが使えないよ」的なエラーが出るようになってしまいました。

ちゃんと調べているわけではないですが、Hyper-Vを有効にしておくと、VT-xがHyper-V側に割当られてしまうことで、VirtualboxではVT-xが使えなくなる模様です。

Hyper-Vをアンインストールしたら元に戻りました。

備忘録です。インターネットからダウンロードしたファイルにつけられるフラグの名前とか

いつも忘れるので備忘録です。

インターネットからダウンロードしたファイルにつけられるフラグは、ZoneIDというそうです。

参考:
http://www.atmarkit.co.jp/fwin2k/win2ktips/498zoneid/zoneid.html


削除するには上のキャプチャのようにファイルのプロパティ上で「ブロックの解除」ボタンをクリックしてもいいですが、私はsysinternalのツールstreamsで一括に消したりしてます。

streamsについて調べているとこんなページも見つかります。

http://www.atmarkit.co.jp/fwin2k/win2ktips/1363streams/streams.html

NTFS代替データストリームなんて言葉も出てきます。知りませんでしたが、昔のMacOSのリソースフォークみたいなものかな?なんて思ってたらまんま上の@IT記事にそのとおり書いてありました。
(けど、昔のNTのMacintoshファイルサービスってリソースフォークが一部しか?使えなかったような・・と思ってたらウィキペディアにデータタイプについてもしっかり載ってました。そう。確かWindowsNTMacintoshサービスだとアイコン情報などが扱えなかったはず。ウィキペディアによるとBNDLというタイプがそれ)

備忘録です。ssl_error_weak_server_ephemeral_dh_keyエラーへの対処

Firefox 39以降などで、WEBサイトにアクセスすると、下記のようなエラーが出てアクセスができないケースが増えました。

Secure Connection Failed
An error occurred during a connection to AAA.BBB.CCC.DDD. SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message. (Error code: ssl_error_weak_server_ephemeral_dh_key)

一般のインターネット上のWEBサーバなどよりも、アプライアンスやストレージなどの設定用のビルトインの
HTTPサーバでSSLを使っている場合が多いです。

理由はセキュリティの脆弱性対策で、1024ビット未満のキーを使用可能なサーバへのアクセスがFirefox 39あたりからデフォルトで
無効になったためのようです。

詳しいことはリンク先などの説明をみていただくことにしてとりあえず見れるようにするには下記のように、
URLにabout:configと入力して、設定一覧に移ります。(警告がでますがそのまま先へ進みます)


この中から、

security.ssl3.dhe_rsa_aes_128_sha
security.ssl3.dhe_rsa_aes_256_sha

を見つけて、ダブルクリックで画面のように強調にさせます。これで項目の値がTrue→Falseに変更されます。
ブラウザを再起動すれば変更は反映してエラーでアクセスできなかったサイトへアクセスが可能になります。


この設定を推奨している訳ではありません。

Microsoft Picture Managerの表示が遅いときの対処

あまり使っている人は多くないと思いますが、
Microsoft Office Picture Manager の起動が遅くなったときの対処

https://support.microsoft.com/en-us/kb/555592


%USERPROFILE%\Appdata\Local\Microsoft\OIS\OIScatalog.cagファイル内を
メモ帳・テキストエディタ等で開きます。

MRU PATH行にアクセス不可能な場所が記載されていると起動が激遅になります。

MRU PATH行を削除して保存すればOK。