- - PR -
Axis2にてプロセス毎(HttpServletのインスタンス毎)に変数を共有
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-07-10 10:40
Tomcat5.5上のAxis2にてプロセス毎(HttpServletのインスタンス毎)に変数を共有したいのですがどのようにしたらよいのでしょうか?
AxisServletを拡張して変数をもたせてもAxis2サービス内からだとAxisServletが取得できないのです。 なにとぞご教授お願いいたします。 _________________ [ メッセージ編集済み 編集者: 未記入 編集日時 2007-07-10 11:08 ] |
|
投稿日時: 2007-07-10 11:57
スレッドローカルあたりがお手軽でいいのではないでしょうか。
あとは調べてね。 |
|
投稿日時: 2007-07-10 14:38
すいません。自分でしらべたんですがとうしてもよい発想がでてきません。
スレッドローカルということはスレッド毎に変数を持たせるというこてでしょうか? スレッド単位ではなくスレッドを起動している親であるプロセス単位に変数を保持したのです。説明が不足していてすません。 たとえば、あるAプロセスがスレッドAA1、AA2を立ち上げるとAA1、AA2内で共通的に 利用できるよう変数を保持したいのです。 もし、ご教授していただけるのでしたらよろしくお願いします。 |
|
投稿日時: 2007-07-10 14:51
プロセスってどういう意味で使っています?
Linuxにおけるプロセスを指しているのでしょうか? その場合はJavaでは同一VM上は同一プロセスという扱いですか? 当初の発言どおりHttpServletのインスタンス毎というなら意味は分かるのですが。 Filterを利用してThreadとServletのインスタンスを管理するなど、 方法論はいくつかあるとは思います。 私の手元ではAxisの1系しかないもので、2系固有の方法論となると 詳しいことは何もいえませんが。 |
|
投稿日時: 2007-07-10 15:43
HttpServletのインスタンス毎ということで、スレッドごとにというように
考えたのでスレッドローカルだったんですが、JVMごと(クラスローダ)に 変数を持って、各スレッド内から使用したいということですね。 でしたら、GOFデザインパターンのSingletonパターンと、ConcurrentHashMap あたりを組み合わせてみてはいかがでしょうか。スレッド間で同一リソース を参照するので、同期処理も意識する必要がありますね。 れいのごとく、あとは調べてね。 |
|
投稿日時: 2007-07-10 16:20
Servlet間でデータ共有するならServletContextというものがあります。
|
1