国産オープンソースDIコンテナSeasar2 その16
■ このスレッドは過去ログ倉庫に格納されています
Seaserは使った事ないがこのスレを覗いていると
俺の作ったフレームワークの方がマシに思える。 私のもよろしく〜。
今はPHPフレームワークが一番需要ありそう。 SpringよりPlayが存在意義を奪ってしまったと思う
自慢のホットデプロイとか 今のままではSIerは衰退するとか言いながら「自分みたいな人材が求められてるんです」と、必死にアピール。
あげくの果てには「成功する人はひとにぎり、むずかしい」と、やっと別分野をするには自分の至らなさに気付いて同情集め。
特定分野には優れてるのに、微妙な人だよ。 >>421
最初のリリースから8年、とってかわられるにはいい頃合い 小さいラッパーライブラリだけど。
https://github.com/troter/s2jdbc-master-slave
こういう感じの拡張するライブラリってあまり公開されていない印象。 >>425何か必要性を感じたんだろうけど、
jdbcラッパーでマスタースレーブの利用目的がわからな。 >>426
com.mysql.jdbc.ReplicationDriverなどのJDBC Driver毎のレプリケーション用のドライバの存在を知らない時に作ったものなので、
今となっては利用目的なくなっています。。
Seasar1ってServletコンテナだったの? もう誰もJavaやってなくね?taediumタソまでNode.jsやっとる チュートリアルを試したことがある人にお尋ねしたいです。
チュートリアルを試せるところまで行きません。
この通りにやったのに⇒(http://sastruts.seasar.org/setup.html#tutorial)
404エラーです。
http://localhost:8080/sa-struts-tutorial にアクセスすると↓です。
" The requested resource (/sa-struts-tutorial/) is not available."
上記サイトの文章中の
「コンテキスト宣言モードにコンテキストファイルを選び、[OK]をクリックします。 」
↑のところですが、
(省略)/Tomcat6.0/conf/Catalina/localhost/の下に、
(省略)sa-struts-tutorial/src/main/webapp\WEB-INF/sa-struts-tutorial.xml
をコピペしてから、コンテキストディレクトリを選択する部分で
”(省略)/Tomcat6.0/conf/Catalina/localhost/”を選べばいいのかなと思ったのですが、
ここが間違えているのでしょうか?
http://localhost:8080/ではきちんとtomcatの画面が表示されています。 >>433
Tomcat Launcherを使ってるならEclipse上では
> sa-struts-tutorialのプロジェクトを右クリックして、 [Tomcatプロジェクト] -> [Tomcatのコンテキストを更新]を選びます。
だけでOKだと思うけど、他のTomcatマネージャなのでは >>434さん
ご返信ありがとうございます!
コンテキストファイル sa-struts-tutorial.xml の内容が違っていました!
workDir= の部分が違っていました。そしてなぜか書き換えて保存しても、
[Tomcatプロジェクト] -> [Tomcatのコンテキストを更新] をすると
書き換えた内容がもとに戻っちゃうので、workディレクトリの位置をコンテキストファイルの
パスの通りに変更したらできました。
でも普通はコンテキストファイルの設定とか特にいらないんですかね?
ちなみにTomcat Lancherというのは、Sysdeo/SQLI Tomcat Lancherでしょうか?
それなら入っています。 >>435
> でも普通はコンテキストファイルの設定とか特にいらないんですかね?
> ちなみにTomcat Lancherというのは、Sysdeo/SQLI Tomcat Lancherでしょうか?
そう。ディレクトリ構成が違うってことは今のバージョンのチュートリアルが原因か
ドキュメントに読み違える部分があるかだと思うけど、次にDoltengで自分のプロジェクトを
新規作成する時は問題ないと思いますよ >436さん
ありがとうございます!
やっぱりコンテキストファイルの設定、いらないんですか。
確かに公式のサイトには特に書かれていなかったのでそうかなとも思ったのですが、
暗黙の了解なのかなとも思っていました。
それと、色々調べていて、http://www.ecosys.co.jp/javalesson/pdf/04_framework_kiso_02.pdf
の2ページの「6. WebアプリケーションをTomcatで認識できるようにする」
という情報もあったので、今のバージョンでは必要になったのかもしれないのかもしれませんね。
Dolteng、挑戦してみます!ありがとうございます! やる気を削ぐようで悪いけんど、s2プロジェクトは
エッセンスの濃い人たちが抜けてJP-SIerに取っての
VBの後釜みたいになってるべ。今後のこと
考えんならばよ、Spring3に繋げておいたほうがいいっぺさ。
Tolteng便利だけど、一般公開されてるツールだけで
いろいろやろうとすると、メンテが止まっていたりして
いろいろハマるっぺな。まぁ、きばれ。 よそ見しとったべな。Doltengな。
ま、Eclipse+Dolteng+Kijimunaは
必須アイテムみたいなもんだっぺ。 今更Spring? せめてJavaEEかPlayだろ
今後もJavaでいいのか考えもんだが 今ならまだSpring。
JavaEEはもう数バージョン上がって欲しいのが本音、JAX-RS 2.0とか。
Playで行けると判断できる環境にいる人達なら、Playで問題なし。
Java以外の選択肢についても同様。 今後のこと考えるならって話なのに、今ならまだって… 言語的には他の言語が伸びそうにない。
C#, Scala, Ruby, Pythonが伸びない。
伸びるとしたら悪名高い糞言語(PHP, JavaScript)ぐらいだな。 参考
TIOBE Programming Community Index for February 2012
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
1 Java 17.050% -1.43%
2 C 16.523% +1.54%
3 C# 8.653% +1.84%
4 C++ 7.853% -0.33%
5 Objective-C 7.062% +4.49%
6 PHP 5.641% -1.33%
7 (Visual) Basic 4.315% -0.61%
8 Python 3.148% -3.89%
9 Perl 2.931% +1.02%
10 JavaScript 2.465% -0.09% Scalaとか、JVM上で動作する他の言語やXtendみたいなものも良いんだけどさ。
素直にさっさとJavaにクロージャやyeildや型推論とかを導入してくれんかなあ。 素直なのはいいことだけど仕様がゴミになるのは勘弁してほしい。 >>444
因みに日本国内だとこうなる
http://www.idcjapan.co.jp/Press/Current/20120206Apr.html
1 C
2 VB
3 Java
4 C++
5 COBOL
Objective-Cとか何それ美味しいの状態。
VB、COBOLが高いあたりがまさに高齢化社会。(システムも人もね)
>>440
JavaEE > Spring になることなんてぜったいにない。
JavaEE の ease of development なんて信じている奴いないだろ
Spring ベースにアプリ作って、必要に応じて JPA なり JMS なり必要なものを追加すればよい
ってここ Spring スレじゃねーじゃねーか JavaEE 8くらいには期待してあげてもいいんだからね!! ここのSpringスレはなんであんなに過疎なんだろう 開発の楽さはもうJavaEE>Spring
信じてるんじゃなくて現実 >>454
NetBeansつかって、CDI とか使って?
(Eclipseでもいいけど、JavaEE向けに、便利な特定なプラグインってあるのか?) JavaEEが優れているのって、具体的にどの技術・実装系の話?
結局、便利な機能って、実装系固有の拡張部分の話だったりするイメージがあるんだけど。 >>448
VBやVBAなんて厨房にもできる言語なのになw Action
-------
sampleItems = thinkService.findBySample();
service
-------
public List<sample> findBySample() {
return jdbcManager.selectBySqlFile(Sample.class,"sql/example.sql");
}
sample entity
------
.
.
@OneToOne
@JoinColumn(name = "id", referencedColumnName = "id")
public CryData cryData;
SQL
-----
select * from test left join cry_data on test.id = cry_data.id;
以上のような構成で外部SQLを使用したDB検索を実装してます。
この例でいう test の値は問題なく取得できるのですが testにネストしてあるcry_data の値が取得できません。
外部SQLを使用した上で、テーブル結合を行った場合、自動生成の方法と比べ何か相違点があるのでしょうか?
同じ現象を解決した情報が見つからず困っています。皆さんのお力を貸して欲しいです。
SAStrutsのスレッドが落ちてしまったようなのでこちらで質問させてください。 >>459
thinkService.findBySample() が Test 型 じゃなくて Sample 型で値を返してるけど
Sample 型 Entity は test テーブルを使う定義がされてるの?それとも Test 型 Entity が他にある?それと、
> @JoinColumn(name = "id"
cryData がtestId(sampleId?) を持ってるんじゃなくて互いの主キーが一対一関連という状態?
もう一方の Entity 情報がどうなってるのかで原因が分かりそうな気はする。
まあもし解決しないとしても Test Entity に関連定義じゃなくて @Transient な CryData 型プロパティを追加して
それで Join した値を受け取ればそのままのSQLで目的を果たせるのでは Hyper Great Creator の作るプロダクトを使って開発できるなんておまえら幸せだな。 まあまあ。世の中には高学歴で固めた”ウルトラテクノロジスト集団”とか自称しながら
実質はパクリしかできないチーム・アホとかいう連中だっているんだから
独自プロダクトを生み出せているだけまだ優良だよw Seasar2プロダクト全体がそもそもオワコン
いまだにずるずる引っ張ってる奇特な人はいるけど精神論では長くはもたないよ オワコンっていうかむしろ枯れたメリットじゃないの
よっぽど用途に合わないもの作ろうとしない限り困らないし
bugfix以外でいじる必要もないと思うし だからといって今現在、BlazeDSを手助けしてくれるツールとしては
Seasarが一番だと思う グラサンワロタ
彼はどういう方向に進もうとしているのか SAStrutsの超シンプルなサンプルを探してるんだけど知ってる?
Seasar2徹底入門はamazonの中古でもまだ3500円超だからorz
ネットでマスターしてやる!!
AOPは↓にいいのがあったのでこんな感じで。
ttp://yyamazakiya.blogspot.jp/2012/05/seasar2-aop.html te:include した時の動作がよくわからないんですが、includeされたページに関してはプロパティを渡すことも貰うことも出来ないんですか?
先輩が書いたコード見るとhtmlにhiddenが20個ぐらい並んでいたり10行以上のurlを書いておいてGETしたり
インクルード元と先でおなじ初期表示設定の処理をしていたりするんですが、こうするのが一般的なんでしょうか。
おんなじ様な事を何回も書いてるって事は何か間違ってるんじゃないかな? >>472
やっぱりteedaだからと言ってそういうことはしないですよね。
今作っているところは変えちゃおっと。 androidに対応したバイトコードマニピュレータがあれば SAStrutsのActionクラスで、JSPの実行結果をStringオブジェクトとして
利用する方法をどなたかご存じないでしょうか?
JSPの実行結果であるStringを、例えばメールの本文や
ajaxのレスポンスとして他のメソッドに渡すというようなことを考えています。
現在はFreeMarkerをそういった用途のテンプレートとして使っているのですが、
JSPでもELでほとんど同じ事を書けるので冗長に感じています・・・ Tomcat6+openjdk+seasar2+S2strutsで動いてるって事例ありますか? >>478
openJDKはやめといたほうがいいよ
糞遅くて使い物にならん
GCが走るたびにアプリが固まりまくってもいいような使い方だと問題はないだろうけど seasarはやめといたほうがいいよ
糞くて使い物にならん
Springが新しくなるたびにコミッタが過疎りまくってもいいような使い方だと問題はないだろうけど 最近になってイントラマートさわり始めたぜ
アサインされたプロジェクトが使っていたからだけど。
あと、イントラマートをユーザ管理とスケジューラ(cron)の代わりにしか使っていない。 ここで質問してもいいでしょうか
仕事でSAStrutsを使っております。
自分で用意した環境じゃないのでバージョン等は熟知しておりません…。
下記の様なコードを書いているのですが、
キャスト失敗の例外で落ちてしまいます。
XXXXXLogic logic = SingletonS2Container.getComponent(XXXXXLogic.class);
なんですが、
落ちる呼び出し方と落ちない呼び出し方があるみたいなのです。
落ちる呼び出し方とは、
JSP から自作の EL 関数を呼び出し、
その EL 関数の中で呼び出す、
という物です。
落ちない呼び出し方というのは、
そうではない部分から呼び出す場合です。
例えば Action から呼び出す場合です。
getComponentが返すオブジェクトの型は、
ちゃんと覚えていないのですが、XXXXXLogic$$S2AOP....
みたいな型でして、
呼び出し場所によって変化しておりません…。
XXXXXLogicにinterfaceを持たせて、interfaceにキャストしても上手く行きませんでした(EL関数からはダメで、アクションからはOK)…。
直接の呼び出し場所を別のクラスにしても上手く行きませんでした(EL関数から経由ではダメで、アクションから経由ではOK)。
よろしければ原因や対処法を教えていただけないでしょうか レスありがとうございます
クラスローダってのは、私自身もちょっと怪しいなって着眼してはいました…
だけどそこまで私の java に関する知識が深く無く、
調査する方法から勉強して行かないと無理かなあって思い断念しておりました
私は今のプロジェクトではアーキテクトでは無く、
単なるアプリプログラマとして参画しているだけの為、
これ以上深く突っ込んで行くのは私自身のタスクに影響が出てしまうので追求は止めようかと思っております…
ここで簡単な方法で解決出来る事が分かれば対処してしまおうと思っておりましたけど、
目前のタスクをこなさないと PM に怒られてしまうのでとりあえずダサい実装で乗り切るつもりです
ありがとうございました
だけどもし簡単な解決方法があったら、
知識として欲しいので、
書き込んで頂けるとありがたいです 問題の切り分けができていないのですが…
現在、業務用ではないツールの作成をしています。
構成:Derby(組み込み)+s2jdbc
EclipseのデータソースエクスプローラやDBViewerではDB接続・Select文発行まで確認できているのですが、
アプリからDBアクセスをすると「表またはビュー 'hogehoge' は存在しません」とのエラーが発生しています。
s2jdbc.diconのDialectはDerbyに変更済み、
jdbc.diconのxaDataSourceは以下のように変更しています。
<!-- for Derby -->
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"org.apache.derby.jdbc.EmbeddedDriver"
</property>
<property name="URL">
"jdbc:derby:Derby"
</property>
<property name="user">""</property>
<property name="password">""</property>
</component>
他に注意すべきことがあれば、ご指摘お願いします。 >>491
その現象は COOL deployの時には発生しないのでないか?
もしそうなら http://d.hatena.ne.jp/learn/20090318/p1 このへんが参考になるかと。 >>493これはいかにも当たってそうですね
参考にさせて頂きます!
ありがとうございました あれからいろいろやってみました。
S2JDBC-Genを実行すると、以下のようなエラーになりました。
対象となるテーブルが1つも見つかりませんでした。S2JDBC-Gen用の方言クラス名(org.seasar.extension.jdbc.gen.internal.dialect.DerbyGenDialect)、
スキーマ名(null)、読み取り対象のテーブル名のパターン(.*)、読み取り非対象のテーブル名のパターン((SCHEMA_INFO|.*\$.*))が正しいか確認してください。
Derbyでスキーマを省略するとスキーマはAPPになるはずなので、スキーマ名がnullになっているのが気になっています。
diconに定義することは可能でしたっけ…?
申し訳ありませんが、ご助言お願いします。 SQL ServerのTIMESTAMP型って、s2jdbcでエンティティ作るときは、どの型で作ればよい? MLをYahoo知恵袋なみの使い方してるやつがいてワロタ それでいいんだよ。サポートがウリなんだから。
ティーダとか、一生サポートするつもりの気迫があるコミッタも居るしな。 Doltengでプロジェクトを作成するとき選択した「サーバ管理」の項目を、
後から変更するにはどうしたらいいでしょうか? Struts2はまだ現役だというのにSeasar2ときたら… いまでも活発に頑張ってるプロダクトもあるけどメインだったコミッタ陣が露骨に飽きてるから、注目されてなくて不憫だな。 やる気があるプロダクトは、Seasarの看板を捨ててGitHubへ行けば良いだけのこと。 実際リポジトリはGitHubに移すってMLに流れてるけど、そもそもコアプロダクトは
もう機能追加とか新規開発しないって公式宣言されてるのをこのスレの住人は知らないのか Domaとjfluteはgithub移行を機に独立すべきだな。
はっきりいってSeasar傘下ということがマイナスに働いて採用しづらい。 Hyper Great Creatorの近況はないの?
最近情報発信していないみたいだけど。 今さらstrutsの脆弱性について解説していただけるとかマジでグレートだな。 ■ このスレッドは過去ログ倉庫に格納されています