2014年4月29日火曜日

eclipseの内部ブラウザでJavaScriptの修正が反映されない時のチェックポイント

久しぶりに、eclipseを使用して開発を行ったのですが、JavaScriptの修正が反映されない。

クリーン・ビルドをしても変化なし。何故。。。

と、少々悩みましたが原因は

eclipseの内部ブラウザとして、指定しているブラウザ(IEなど)に

キャッシュがたまっているため、元のブラウザの方で

キャッシュをクリアする必要がありました!

ん〜初歩的すぎる(^^;

2014年4月23日水曜日

Tomcat6でweb.xmlが自動で削除される?

Tomcatの設定を行っている際に、不思議な事象に遭遇。

web.xmlが自然に消えることがありました。

そうか、web.xmlは使用していると消耗して消失するんだ。
ん〜データも劣化するんだなぁ、どのくらいアクセスすると劣化して消失するんだろう。
ちょっと試してみようか。。。
って、そんな訳ないです!w

そもそも劣化ってなに?
って感じですが、原因は別にありました。(当然ですねw)

どうやら、Tomcatルート/conf/Catalina/localhost 配下にある
各コンテキストごとの設定ファイルを削除すると
 ・コンテキスト名.xml
連鎖的に、コンテキスト名/WEB-INF 配下にある
 ・web.xml 
が削除されるみたいです。

逆に、web.xmlを削除しても、コンテキスト名.xml は削除されませんでした。
もし、コンテキスト名.xmlを削除する場合は、事前にweb.xmlのバックアップを
作成していた方が安全ですね。


2014年4月15日火曜日

【EC2】CentOSのTomcatに接続(8080ポート)

<環境>
CentOS6.4(64bit)
Tomcat6

CentOSのTomcatに接続したところ、ネコさんのページではなく
エラーページが表示されました。

EC2インスタンスのセキュリティグループには、8080ポートを開けるように
設定はしているのに何故?
もしかして、Tomcatの設定か何かが足りなかったかな?
と、手順を確認しても不足はなさそう。
ググってみると、OSのファイアウォールで制限されていることがあるとの
記載を発見。
早速、接続端末のファイアウォールを一時的に無効にし、いざ接続!
できません!!笑
と、ここで間違いに気がつきました。
接続端末のファイアウォールではなく、もしかしてCentOSのファイアウォールの設定が
必要ではないのか?

sudo iptables -L

にて設定を確認したところ、8080ポートが開いていません。。。

# ファイアウォールの8080ポートを開放
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

#設定を保存
/etc/rc.d/init.d/iptables save

#ファイアウォール起動
/etc/rc.d/init.d/iptables start

と、して再び8080ポートにアクセスしたところ、ネコさんの画面が表示されました。

今回の反省点としては
EC2のセキュリティグループのポート開放と、OSのファイアウォールのポート開放は
別々の設定になっているということです。
ポート開放だけ意識すれば、2つのファイアウォールの各ポートを開放する
必要があるということですね。
ん〜勉強になりました。

2014年4月13日日曜日

【JDeveloper】Oracle11gとのDB接続

JDeveloper10にてOracle11gとの接続ができない事象が発生。

正しくは接続ナビゲータのテストは成功しているのですが
アプリケーション実行時に接続が失敗。
何回か試しましたが、それでも接続が失敗。。。

Oracle Enterprise Managerで接続先のユーザを確認したところ
ユーザのステータスがLocked(Timed)になっていました。

ということは、接続ナビゲータで指定したユーザにはアクセスしているけど
パスワードが不正でロックがかかった?
でも、接続ナビゲータでは接続テストが成功しているので
パスワードは正しいものを入れているハズ・・・。
と、なんだかんだで2時間ほどロス。

原因としては、Oracle11gからデフォルトで有効になっている
パスワード文字の大小文字区別のせいで接続ができなくなっていました。

ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE

を実行し、文字の大小区別を行わないようにしたところ、アプリケーション実行時にも
DB接続を行えるようになりました!

ただ、気になるのは接続ナビゲータの接続テストと、アプリケーション実行時の
DB接続でパスワードとして渡している文字列に相違があることです。
ん〜アプリケーション実行時には自動的に大文字もしくは小文字などに変換されている
のだろうか。。。
ん〜ちょいと検証が必要ですね。