WebObjects nsDictionary.valueForKey("5スレ");
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/02/04 12:21ID:vwrTw9m5Webアプリ開発環境「WebObjects」について語るスレです。
http://www.apple.co.jp/webobjects/
http://www.apple.com/webobjects/
1スレ目:http://pc.2ch.net/test/read.cgi/php/989562708
2スレ目:http://pc.2ch.net/test/read.cgi/php/1013695600
3スレ目:http://pc.2ch.net/test/read.cgi/php/1024066714
4スレ目:http://pc2.2ch.net/test/read.cgi/php/1033912737
■ 掟 ■
・遠慮は自身の成長を阻害する。過去ログ読んでも判らないことがあればどんどん質問すべし。そして判らないヤツがいたら親切じゃなくてもいいから教えてやるべし。
・WebObjectsを使っている個人・法人の無意味な批判は歓迎されない、しない。マカーマカーと騒がないこと。
・ヨソの開発ツールを使ってもないのにWebObjectsマンセーすることは歓迎されない、しない。
・運用についての質問はハードウェア、OS、パッチ、RDBMSのバージョン、JDBCアダプタのバージョン、Web鯖のバージョン、例外の内容などを細かく明記すべし。
・プ社の話題はウザすぎるので全て専用クソスレでおながいします。
・さやかタン (´Д`;)ハァハァ
0002nobodyさん
03/02/04 13:04ID:mfJE00kX0003nobodyさん
03/02/04 15:19ID:???0004nobodyさん
03/02/06 00:04ID:???に値を渡すにはどうしたらいいですか?
子の変数を親で処理したいんですが・・・
0005nobodyさん
03/02/06 00:29ID:???ウインドウの親子関係をいっている?Javaクラスの親子関係?
> カスタムのサブコンポーネントから親のコンポーネント
もっと具体的にやりたいことの記述を求む.
0006nobodyさん
03/02/06 04:26ID:???子コンポーネントでDynamicElement(WOTextFieldとか)に張り付けてる変数を
親コンポーネントで参照したいだけだったら、親コンポーネントのwodに
バインディング(*1)を追加するだけでよいかと思う。
例えば、子コンポーネントProfileEditComponentにWOTextFieldにバインドされた
telephoneという変数があって、そのTextFieldに入力された値を親のコンポーネント
MyProfileEditPageで参照したければ、
親コンポーネント.wod:
MyPorfile: ProfileEditComponent {
telephone = myTelephone; // (*1) ProfileEditComponentのtelephoneをMyProfileEditPageのmyTelephoneにバインド
}
親コンポーネント.java:
public String myTelephone; // MyProfileEditPageのインスタンス変数
publicWOActionResults commitAction() {
NSLog.debug.appendln("myTelephone = " + myTelephone); // myTelephone
return null;
}
アクションメソッドが呼ばれた時にはmyTelephoneに値が入っているのでそれを
参照することが出来る。
もうちょっと複雑なパターンだと、これでは不十分で、setValueForBinding()なんかを
使わないとダメかも知れません。例えば、子コンポーネントのアクションメソッド
で値を生成してからperformParentAction()で親コンポーネントに処理を移している場合
なんかは多分そうなります。
0007nobodyさん
03/02/06 11:18ID:K/KxV3EnだれかWin版のWO5.2でJikesでコンパイルする方法知りませんか?
C:\WinNT\System32にJikes.exeをコピーして、Jikesそのものは使えるように
なったみたいですが、コンパイラの一覧にJikesが出てきません。
また、Makefileのなかの「WINDOWS_JAVA_COMPILER」をいじってみましたが、
「Jikes.plistがないよー」とおこられました。(あたりまえか)
どのへんをいじればいいでしょうか?
00087
03/02/06 11:29ID:K/KxV3En出てました。(w
逝ってきます・・・・・。
(なんかうまくいって無さげだけど、多分大丈夫でしょう)
0009nobodyさん
03/02/06 11:36ID:p+nEzdplわかりにくくてごめんなさい。
やりたいことは >>6 で書いてあるようなことでした。
>>6
ありがとうございます。これって、APIエディターで登録してWOビルダーで
バインドしてってやりかたですよね、昨日やったときはうまくできなかったような
気がしたんですけどさっきやってみたら子コンポーネントのフィールドの値を
親で処理できました。
ただ、アクションメソッドは親のものを使ってるんで
ご指摘の、子コンポーネントのアクションメソッドから親コンポーネントに
処理を移すというやり方は、これからもうちょっと勉強してみます。
00107
03/02/06 15:21ID:K/KxV3Enやっぱ駄目でした。(w
まず、やったことから・・・
1)アポーのtech-infoの情報をもとにJikesSpec.plistとJikes.batを所定の場所に
おこうとしたら、なんと、既にリンク先にファイルがない。
2)仕方ないので、MacOSX10.2から「Jikes.plist」をかっぱらってきて、適当
に編集(Win版のJavacSpec.plistを見ながら、Executables,OperatingSystem,
Arcitectureのパラメータを合わせた)Jikes.batはあきらめ。
3)Jikes.exeを%JDK%\binに移動。
4)JikesSpec.plistをC:AppleDeveloperMakefilesResourcesにコピー
5)ProjectBuilderを再起動。これで「Java Compiler」にJikesが出てくる
とおもいきや、出てきません(泣。
6)しょうがないんで、とりあえずコンパイルの時間だけは知りたかったので
MakefileのWINDOWS_JAVA_COMPILERの値をJikes.exeに変更。
7)ビルド実行。やっぱはえーェェ!!!!爆速じゃん!!!
(VirtualPC上のWin2000で実行。コンパイルがいつ終わったか
わからなかった。普通なら1プロジェクト30分はざら)
・・・・あ
日本語が化けてる(w
てな感じです。
エンコードの部分がおかしいのは何となく分かるんですが、どの辺で指定すれば
いいのか皆目見当が付きません。
0011nobodyさん
03/02/06 15:33ID:xlckppIQ将来は大規模サーバAP構築にも使えたらいいな。
WebObjects5.2 は運用環境として Win2k + IIS コネクタの環境で使うのは
安定してますか?
また、Windows Server 2003 RC2 + IIS6.0 で動かしてみた方いらっしゃいますか?
0012nobodyさん
03/02/06 21:11ID:???安定云々の前に、Windowsを鯖にしようとしていること自体が間違っていると思うのだが。政治的理由でWindowsしか使えないんだったら別だが。
で、本題のIISコネクタ環境の安定度は悪くない。ただし、IIS用アダプタを自前でコンパイル
する必要あるけど(あれ、バイナリもちゃんとあるようだけど。CGIアダプタはちょっとオススメできない。
Windows2003 RC2とIIS6.0の組み合わせはやったことない。つうかお前やってみて報告しる。
0013nobodyさん
03/02/06 21:49ID:kXA9BnBi11じゃないですけど、Windowsしかないっていうところはまだ沢山あります。
のこるソラリスはいまいち分からないし、Linuxは得体がしれないしって
いうところはいくつも見てる。こればっかりはどうしようもない。
(ちなみにMacOSXは論外ね。)
ただ、あながちWinも悪いと思わない。速度もまぁまぁだし、何もしらない
事務の人でもマニュアル作ればオペレーションぐらいはできる。
セキュリティホールだって不必要なサービスをとめて運用すればそれなりに
運用できます。FWたててポートしぼればなお安心。
(以外とやらないんだ、中小の鯖)
ただ、パッチ当てると動かなくなるツーのは勘弁して欲しいです。
(あと、気違いみたいな量のセキュリティ情報も)
>>11
Winの場合、他のOSとは違ったところに気をつけないといけないです。
ー続くー
001413
03/02/06 21:58ID:kXA9BnBi1)まず、ワトソン博士はとめて下さい。自動復帰が効かなくなります。
2)Monitorのスケジューリング機能で1日1回再起動するようにして下さい。
(けっこうメモリー漏れるみたいです)
3)iisとWO鯖はできるだけ分けて下さい。
(アプリによりますが、どちらもメモリーとCPU食います)
あと、このスレでも問題になったport1085占有問題って解決してない
ので(WOが使うPORT:1085を何かのアプリが押さえてしまう問題)
この辺も気をつけた方がいいかもしれません
・・・ってアドバイスになってない?
0015nobodyさん
03/02/06 22:17ID:???JDKが安定稼働するプラットフォームに限るな。漏れはSolaris、Linuxがおすすめ。
MacOS X Serverも論外とかいっちゃってるけど、使ってみればわかるよ。けっして悪くない。
0016ぷぷぷっ
03/02/06 22:23ID:???ttp://jp.sun.com/developers/techdays/apple_track.html#t4
001713
03/02/06 22:36ID:kXA9BnBi自分個人としてはソラリスかMacOSXを推奨したいんですけど
(もち、自社のフォロー付き)、
やはり「Windowsがいい。簡単だもん。」っていわれてるとねぇ。
お客さまご指定じゃぁね。
まぁ、こちらは警告したんで責任は果たしましたけど。
(まさか、んな莫迦には売れませんとはいえないし)
0018nobodyさん
03/02/07 00:41ID:???>>12-15 ありがとうございます。
やっぱ Windows はアレだよなぁ・・・ Solaris 使いたいんだけど、
「管理がわからん」とかいう理由で Win ご指定の納入先が結構多くて、
険しい路とは知っていてもあえて Windows での運用ノウハウは必要
なんですよねー。つーか Windows でやるならおとなしく .NET してろと
言いたいが。
Windows Server 2003 は RC2 を注文したので入れたらレポします。
001917
03/02/07 15:29ID:Y4hH+BVZよろぴく〜。
そういえば、Win版をVPCで動かそうと四苦八苦していますが、(Jikesの件、
いまだわからず。とほほ)前スレでも問題になっていた”〜”入力不可の件は
WebObjectBuilderだけではなく、ProjectBuilderでもでちまうことが
分かりました。(入力してもエディター上に表示されない)
ちなみに、WOは5.2です。
ますますWin版を使う気なくしてきた。でも客先がなぁ・・・・。
0020nobodyさん
03/02/08 16:57ID:ykF6rXPGeclipse使え。
0021nobodyさん
03/02/08 17:24ID:???0022nobodyさん
03/02/08 18:37ID:aflm/lKPEclipseだと、SubProjectを含んだビルドに失敗してしまいます。
ビルドだけProjectBuilderにまかせれば、という手も考えましたが、
EclipseとProjectBuilderをいっぺんに立ち上げると一気にマシンの
速度がぁ〜、てなわけで躊躇しています。
コード補完とか、すんごーく使いやすいんですがね。
WOのIDEがEclipseにならないかなぁ。
0023nobodyさん
03/02/09 00:56ID:sqeM9sRqValue for column '_rowid' is not unique.
というエラーが出て困っています。
原因がさっぱりわかりません!
何か心当たりのがあればお教えください。
002423
03/02/09 01:11ID:sqeM9sRqError: com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression failed: :
Next exception:SQL State:42000 -- error code: 0 --
msg: ERROR - Value for column '_rowid' is not unique.
SQL: INSERT INTO ReserveHistory(Notes, IntStatus, LockFlag, StrReserveTerminalID,
IntReservedItemType, LeaseScanDate, IntPenaltyCode, LeaseDate, IntReservedItem,
LastUpdateTime, Str_id_Name, StatusChangeDate, IntReservedVolume, LastUpdater, _rowid,
IntLeasePeriod, IntLectureLeaseFlag, ReserveScanDate, ReturnScanDate) VALUES
('saved from WebObject', 0, NULL, NULL, 1, NULL, NULL, 65923200, 101, 66412228.012,
'1000001', NULL, 1, NULL, 5932, 1, 0, NULL, NULL)
002523
03/02/09 01:13ID:sqeM9sRq"INSERT INTO ReserveHistory(Notes, IntStatus, LockFlag, StrReserveTerminalID, IntReservedItemType, LeaseScanDate,
IntPenaltyCode, LeaseDate, IntReservedItem, LastUpdateTime, Str_id_Name, StatusChangeDate,
IntReservedVolume, LastUpdater, _rowid, IntLeasePeriod, IntLectureLeaseFlag, ReserveScanDate,
ReturnScanDate) VALUES (?, ?, NULL, NULL, ?, NULL, NULL, ?, ?, ?, ?, NULL, ?, NULL, ?, ?, ?,
NULL, NULL)" withBindings: 1:"saved from WebObject"(notes), 2:0(intstatus), 3:1(intreserveditemtype),
4:2003-02-03 09:00:00(leasedate), 5:101(intreserveditem), 6:2003-02-09 00:50:28(lastupdatetime), 7:"1000001"
(strIdName), 8:1(intreservedvolume), 9:5932(rowid), 10:1(intleaseperiod), 11:0(intlectureleaseflag)>: Next exception:
SQL State:42000 -- error code: 0 -- msg: ERROR - Value for column '_rowid' is not unique. SQL: INSERT INTO ReserveHistory
(Notes, IntStatus, LockFlag, StrReserveTerminalID, IntReservedItemType, LeaseScanDate, IntPenaltyCode, LeaseDate,
IntReservedItem, LastUpdateTime, Str_id_Name, StatusChangeDate, IntReservedVolume, LastUpdater, _rowid, IntLeasePeriod, IntLectureLeaseFlag, ReserveScanDate, ReturnScanDate)
VALUES ('saved from WebObject', 0, NULL, NULL, 1, NULL, NULL, 65923200, 101, 66412228.012, '1000001', NULL, 1, NULL, 5932, 1, 0, NULL, NULL)
002623
03/02/09 01:57ID:sqeM9sRqこれが動かないと家に帰れません。
もう1週間缶詰です。
どなたかお助け下さい。
0027nobodyさん
03/02/09 03:58ID:HGNZuruTOpenBaseもWOも知らんが、_rowidというフィールドに挿入しようとした
5932という値が既に存在するから、ユニーク制約に引っかかってinsert
できないということじゃないか?
002823
03/02/09 05:00ID:sqeM9sRqエラーの意味はわかるんです。
でも_rowidはOpenBaseが勝手に振る連番なはずなんですよ。
なんでWOがあんなSQLを吐くのやら・・・。
0029nobodyさん
03/02/09 09:18ID:C2Bk6nhjうーん、よくわかりません。こちらでも簡単なテーブルで
やってみましたが、再現しません。
EOModelのAttributeに_rowidがありませんか?
あったらこれを削除するか、非表示にして下さい。
(自動生成の場合には出てきませんが)
0030メリーアン
03/02/09 10:06ID:WgfWLREuとりあえず、使用しているRDBMSやWebObjectsのバージョンが判らないと、何とも言えないな…
EO_PK_TABLEというのがスキーマ内に生成されてないかな?それがあれば
主キーの生成はEOFがEO_PK_TABLEを使って生成していることになるから、
当該テーブルの主キー最大値と、EO_PK_TABLEのナカミをみて当該テーブルの
最大値が設定されているから、その値を比較して前者が後者を下回っていないか
どうかを確認する。なっていたらUPDATEするなりする、と。
EO_PK_TABLEが使われていない、つまりOracleのシーケンスオブジェクトや
PostgreSQLの_seq(シーケンステーブル)を使って主キーを生成している場合は、
EOModelor上で当該Entityを選択してGenerateSQLウィンドウを開き、
Drop PrimaryKey Support だけをチェックして実行後、もう一回
Create Primary Key Supportを実行し、シーケンスオブジェクトだけを再度生成する。
たぶん、当該テーブルに対し、WebObjectsからではなくて、SQLで直接テーブルを
Insertしたり、MS-accessなどでいじったりしたんで、シーケンスオブジェクト
(EO_PK_TABLE含む)が管理する値と違う値になっていた、というのが
原因じゃぁないかと。シーケンスオブジェクトの値そのものは、
SQLを叩いてユニークな値(主キー)を生成するだけだから、
テーブルとリンクしているようなイメージを持ってはいけない。
たぶん、シーケンスオブジェクトを再設定することで解決すると思います。
がんがれ。
003129
03/02/09 11:19ID:C2Bk6nhjエラーメッセージからDBはOpenBaseと判ります。(バージョンが
わからないけど)
WOやOSは判らないですね。これがあれば完璧なんですが。
この問題になっている「_rowid」という項目はOpenBaseが自己管理の
ために使用する項目なんで、そもそも外部アプリから操作する項目では
ありません。通常、テーブルからEOModelを自動生成すると「_rowid」を
ふくむOpenBase管理項目(?)はAttributeが生成されません。
よって、何らかの理由でEOModelに「_rowid」が設定されていると思われる
のですが、もし、自分で設定してPK代わりに使用しているのであれば
やめた方がいいです>>23
自動生成されたのであれば、以下の状況を報告して下さい。>>23
1)_rowidにプライマリーキーが設定されているか?
2)OpenBaseのバージョン
0032nobodyさん
03/02/09 12:29ID:???EOModelorからそのままSQLGenerateすればプライマリキーは_rowidになりますね、、
>>23の結果待ちだす。
003331
03/02/09 13:12ID:C2Bk6nhjそれってOpenBase側で別のプライマリーキーを設定して、その状態で
Switchすると「_rowid」がプライマリーキーになっちまうって
ことですか?
003432
03/02/09 14:23ID:???そうだす。_rowidをそのままモデルファイルに取り込んじゃっているということ。
単に作成側の問題です(自分が昔、そうだったんで……単にやりかた悪いだけでつ(;´Д`))
0035とりあえず恒例のもの貼っとくな
03/02/09 19:23ID:???70 アップルコンピュータ
~~~~~■神と人間の境界線■~~~~~~~~~~~~~~~~~~~~~~~~~
61 キャノン販売
60 NTT-ATテクノコミュニケーションズ
~~~~~■↑人に会社名を言って恥ずかしくないライン■~~~
55 サイバー・ラボ
54 ステラクラフト
50 オブジェクトビジョン
49 フレームワークスソフトウェア
48 千明社
47 テクニカルピット
46 メタテクノ
45 オフビートワークス
44 ステッド
43 ヘリオグラフ
42 アイザック
41 アーチシステムズ
40 アプロポー
~~~~~■↑業界内でのみ会社名を言えるライン■~~~~~~~~
39 ビー・ユー・ジー
38 エムアイ
37 イーリープ
36 ローラン
35 オブジェクトファクトリー
34 ペンギンシステム
33 アイ・ツゥ
32 エイビスシステムソリューション
31 シオン
30 プラネットコンピュータ
~~~~~■↑マカーが趣味でやってる零細企業■~~~~~
0036あぼーん
NGNG0037nobodyさん
03/02/09 22:53ID:WgfWLREu奮闘90分、生きた心地しなかったなぁ。仕様書以外のバグでない
システム的なバグの回避は長くなればなるほどストレスにつながる。
とくにコーディング量が必然的に多くなってしまうミドルウェアや言語というのは
この年齢にはちょっと応える。がむしゃらになって働いていた20代前半が懐かしい。
コーディング量が少ないWebObjectsを選択した時はこの手のストレスが多かったことは事実だ。
がしかし、大分慣れてきた今ではJSP&Servlet&EJBの方が苦痛である場合が多い。
特にコーディング量が多くなってしまうのは致し方ないのだが、情報量が乏しい部分だと
途端に右往左往してしまう。ソフトウェア開発産業が誕生して数十年経過するにもかかわらず
このような非生産的な事態を招いている現場にも嫌気がさす時がある。しかしWebObjectsの
WOBuilderやEOModelorを主軸とした開発環境はこうした問題を出来るだけ回避してくれる
(全て解決とは書けないが)ツールだと感じる。思うに、WebObjects開発環境は天才が
作ったもので、JSP&Servlet&EJBは秀才達が集まって作り上げたもののように感じる。
「大は小を兼ねる」。WebObjectsは大であるか小であるか。私は大であると言いたい。
003837
03/02/09 23:23ID:???0039nobodyさん
03/02/10 23:58ID:2czVZ9/U0040nobodyさん
03/02/11 00:06ID:???時とかはちょっと面倒な気がする。rawRowsForSQLしちゃうけど。
>>35
これ、いつもお馴染みだけど、今のキヤノン販売はWebSphere信者だぞ。
0041nobodyさん
03/02/11 00:12ID:LHqjBdlnSQLも流せ、EO経由でもデータメンテができるのがWOのいいところ。
ただ、EO(正確には各種Context)がどのようにデータを抱え込んでいるか
を理解しないと、ASPよりはまるという罠。
0042nobodyさん
03/02/11 00:17ID:LHqjBdlnXServeねぇ・・・。
MacOSXServerは評価しているけど、サポート体制がどうも。
新Mac板で語られていることが真実なら、あのうたい文句は
信じられない。
それともやり方を変えたのかな>アポー。
でも、少なくとも今の日本で30万未満のサーバーを出さないのは
商機を逸している。マーケッテイングを勉強し直したまえ。
0043nobodyさん
03/02/11 00:33ID:???EOAdaptorChannelにある
updateValuesInRowsDescribedByQualifierや
deleteRowDescribedByQualifier
を使えば大量の更新ができるんだが………
Xserve RAID、、あれはあれで、安い方なのかな?
0044nobodyさん
03/02/11 00:39ID:???安いんじゃないの?
あの容量でちゃんと二重化されていてファイバーチャネルだったら。
肝心のパフォーマンスと信頼性だけは未知数だが。
0045nobodyさん
03/02/11 02:54ID:0fPQW4Dbこういう情報どこから手に入れられるの?
0046nobodyさん
03/02/11 02:57ID:0fPQW4Db1085番ポートの問題っていつ頃話題になったのでしょうか?
0048nobodyさん
03/02/11 06:04ID:LHqjBdln前スレの444から。
0049あぼーん
NGNG■ このスレッドは過去ログ倉庫に格納されています