- PR -

StrutsのActionでメール送信機能が実装出来ない

投稿者投稿内容
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-03-02 14:38
引用:

JBoss3.2.3を使っているのですが、普通はWEB-INF/libにjarを入れれば
良いと思ったので、jreの方を消してWEB-INF/libに入れてみましたら、
正常動作しました。


なるほど。これがまあ正攻法ですよね。

引用:

この前は駄目だったのになぜだろう?で、今度はそれも消してみました。
それでも正常動作しました。


この時は、Jarを削除してからJBossを再起動されましたか?
一度ロードしたクラスはメモリ上に持ち続ける可能性がありますので、Jarを削除
しただけでは良く分からないと思います。

引用:

JBossのキャッシュ機能かなにかが働いているようです。


う〜ん、そんな機能あるのかなぁ。

koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-03-02 15:03
おばけさん、こんにちは。

引用:

この時は、Jarを削除してからJBossを再起動されましたか?


はい、この辺は何度もやりました。ソース変更したり、設定ファイルを変更したり
ライブラリを置いたりした時は、かならず再起動していました。

引用:

>JBossのキャッシュ機能かなにかが働いているようです。
う〜ん、そんな機能あるのかなぁ。


私の思い違いかもしれませんが。。。
ひょっとして、こんな現象が起こっているのは私だけでしょうか。。。
ソース変更してantでビルドし、JBossサーバを再起動して駄目で、さらに
サーバマシン自体を再起動したりしても変更が反映されず(その時はJBoss3.2.3
を使用してました)、しょうがないのでJBoss3.2.3をインストールし、そこに
JBoss3.2.2で変更出来なかったxxxx.warをそのまま置いたら、ちゃんと変更が
反映された、という事がありました。
同僚も同じ、変更が反映されないという現象が起こっていました。
しかし、私の環境に問題があるのか、良くわかりません。
絶対にオペレーションのミスの可能性が無いとは言い切れません。
こういう時は、たいてい私のミスの可能性が多いので。。。

koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-03-02 15:19
さっきの投稿の

(その時はJBoss3.2.3 を使用してました)、

(その時はJBoss3.2.2 を使用してました)、

の間違いでした。すいません。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-03-02 15:59
JBossのWebコンテナ部分ってTomcatですよねえ。

Tomcatって、WARファイルをデプロイするとそれを展開するんですが、以降はいくら
WARファイルを更新しても展開されたディレクトリがある限り新しいWARファイルの
内容は展開されません。

JBossに関してはこの点はどうなんでしょうか?
JBossはよく分からないんですが、デプロイしたWARファイルは一度展開されていますか?
koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-03-02 16:27
引用:

JBossのWebコンテナ部分ってTomcatですよねえ。


はい。Tomcatバンドル版を使っています。

引用:

Tomcatって、WARファイルをデプロイするとそれを展開するんですが、以降はいくら
WARファイルを更新しても展開されたディレクトリがある限り新しいWARファイルの
内容は展開されません。


なるほど、このあたりが関係していそうですね。展開されたディレクトリが残っている
から、更新が反映されないって事ですかね。

引用:

JBossに関してはこの点はどうなんでしょうか?
JBossはよく分からないんですが、デプロイしたWARファイルは一度展開されていますか?


展開されているかどうかはわかりません。

現在は、xxx.warというディレクトリを作成してそこに入れています。ですので、xxx.war
というファイルでは無く、xxx.warというディレクトリです。JBossの場合、それを指定
の場所に置くだけで、デプロイされます。

おばけさんの言う仕組みと同じように、xxx.warというディレクトリが自動でデプロイさ
れた時に、展開と同じ意味で、どこかに作成されるのかもしれませんね。で、その作成さ
れたものを消さないと更新されないという事かもしれません。

JBoss書籍等購入できれば良いのですが。。。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-03-02 16:39
引用:

なるほど、このあたりが関係していそうですね。展開されたディレクトリが残っている
から、更新が反映されないって事ですかね。


Tomcatの場合はこれでハマる場合があります。

引用:

現在は、xxx.warというディレクトリを作成してそこに入れています。
JBossの場合、それを指定の場所に置くだけで、デプロイされます。


なるほど。それがJBoss指定のデプロイ方法なのですね。
新規のアプリをデプロイするのと、デプロイ済みのアプリに再デプロイするのとでは
話が変わってくると思いますが、再デプロイでも上記のようなやり方なのでしょうか?

すみません、JBossには詳しくないのでちょっと無駄なコメントになってしまってます。
私もちょっとドキュメント読んでみますわ。

[ メッセージ編集済み 編集者: おばけ 編集日時 2004-03-02 17:41 ]
koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-03-02 16:59
引用:

>現在は、xxx.warというディレクトリを作成してそこに入れています。
>JBossの場合、それを指定の場所に置くだけで、デプロイされます。
なるほど。それがJBoss指定のデプロイ方法なのですね。


xxx.warというファイルにまとめてもデプロイできますが、毎回warにまとめる
のが面倒なので(antでやればすむ事ですが)ディレクトリで置いて、直接編集
してます。

引用:

新規のアプリをデプロイするのと、デプロイ済みのアプリに再デプロイするのとでは
話が変わってくると思いますが、再デプロイでも上記のようなやり方なのでしょうか?


現在は、xxx.warの中のソースを直接編集して、antでビルドし、その後にJBossを再
起動しています。起動時のコンソール画面を見ていると、その時に再デプロイしてる
ようです。以下がコンソールメッセージです。

-----------------------------------
16:46:13,121 INFO [MainDeployer] Starting deployment of package: file:/usr/shar
e/jboss-3.2.3/server/default/deploy/xxx.war/
16:46:13,247 INFO [EmbeddedTomcatService] deploy, ctxPath=/xxx, warUrl=file:
/usr/share/jboss-3.2.3/server/default/deploy/xxx.war/
16:46:14,748 INFO [Engine] SingleSignOnContextConfig[/xxx]: 証明書をリクエス
トの属性値に追加します
16:46:14,860 WARN [EmbeddedTomcatService] Unable to invoke setDelegate on class
loader:org.jboss.web.tomcat.tc4.WebCtxLoader$ENCLoader@85b670
16:46:14,861 INFO [Engine] StandardManager[/xxx]: 乱数発生器クラス java.secu
rity.SecureRandom のシードを生成しています
16:46:14,862 INFO [Engine] StandardManager[/xxx]: 乱数発生器のシードの生成が
完了しました
16:46:14,864 INFO [Engine] StandardWrapper[/xxx:default]: コンテナサーブレッ
ト default をロードします
16:46:14,865 INFO [PropertyMessageResources] Initializing, config='org.apache.s
truts.action.ActionResources', returnNull=true
16:46:15,197 INFO [PropertyMessageResources] Initializing, config='resources.ap
plication', returnNull=true
16:46:15,268 INFO [TilesPlugin] Tiles definition factory loaded for module ''.
16:46:15,269 INFO [ValidatorPlugIn] Loading validation rules file from '/WEB-IN
F/validator-rules.xml'
16:46:15,615 INFO [ValidatorPlugIn] Loading validation rules file from '/WEB-IN
F/validation.xml'
16:46:15,681 INFO [Engine] StandardWrapper[/xxx:invoker]: コンテナサーブレッ
ト invoker をロードします
16:46:16,164 INFO [MainDeployer] Deployed package: file:/usr/share/jboss-3.2.3/
server/default/deploy/xxx.war/
-----------------------------------

引用:

すみません、JBossには詳しくないのでちょっと無駄なコメントになってしまってます。


いえ、ありがとうございます。今はなんとか凌げているので良いのですが、機会があれば書
籍等で調べたいと思っています。何かわかりましたらご報告させていただきます。

スキルアップ/キャリアアップ(JOB@IT)