個人的に注目度の高いEJB 3.1の記事のリンクを纏めてみました。
ちょっと古いのもありますが、纏めて読むと何となくわかる?
http://d.hatena.ne.jp/shin/20091219/p3
http://d.hatena.ne.jp/shin/20080614/p4
http://blogs.sun.com/enterprisetechtips/entry/a_sampling_of_ejb_3
http://www.infoq.com/jp/news/2008/04/ejb31draft
http://journal.mycom.co.jp/news/2007/07/23/041/index.html
http://weblogs.java.net/blog/2009/06/02/ejb-31-release-third-quarter-2009
http://blogs.sun.com/enterprisetechtips/entry/a_sampling_of_ejb_3
要は、EJB3.0との大きな違いはあまりないんだよね。
でも、インターフェイスを作らなくて良かったり、EARファイルではなくて、WARで良かったりって、小さいけど結構利便性の面で大きく変わってくるところが改善されているから、早く欲しい。
2009年12月28日月曜日
2009年12月27日日曜日
Embedded Jopr Core
ネタにするような事かどうかは疑問ですが、JBoss 5.1.0.GA から、Embedded Jopr Core という、従来よりも使い勝手の良い管理コンソールがバンドルされています。
http://localhost:8080/admin-console/
WebSphereやWebLogicを使っていた方たちで、JBossに対して持つ不満の最たるものとして、管理コンソールがショボイ!というのがあったかと思うのですが、この点で大きな改善と思います。 同じような操作性で管理することができますので是非お試しください。 ちなみに、Seamベースですので、そういう見方をすると興味深い代物ですよ。
http://localhost:8080/admin-console/
WebSphereやWebLogicを使っていた方たちで、JBossに対して持つ不満の最たるものとして、管理コンソールがショボイ!というのがあったかと思うのですが、この点で大きな改善と思います。 同じような操作性で管理することができますので是非お試しください。 ちなみに、Seamベースですので、そういう見方をすると興味深い代物ですよ。
2009年12月26日土曜日
Amazon CloudFront
Amazon EC2を国内で利用した場合に画像とかCSSとかの表示がもっさりした感じになるのを改善するのに利用できるようです。
http://aws.amazon.com/cloudfront/
http://mtl.recruit.co.jp/blog/2008/11/amazons3amazon_cloudfront.html
http://collectivemeta.com/k4bd2
でも、SSLをサポートしないってのはなぁ。
そもそも、EC2を国内に持ってきてもらいたいところですが?
http://aws.amazon.com/cloudfront/
http://mtl.recruit.co.jp/blog/2008/11/amazons3amazon_cloudfront.html
http://collectivemeta.com/k4bd2
でも、SSLをサポートしないってのはなぁ。
そもそも、EC2を国内に持ってきてもらいたいところですが?
Amazon EC2 料金体系
下記サイトで非常に分かりにくいEC2の料金体系が分かりやすく纏っています。
http://lunarium.info/arc/index.php/AmazonEC2料金体系
一年で5万円を切るのか。(為替によるけど)
http://lunarium.info/arc/index.php/AmazonEC2料金体系
一年で5万円を切るのか。(為替によるけど)
高円寺20000V閉店・・・
会社のメンバーに教えてもらったのですが、高円寺20000Vが火事の影響で閉店になってしまったそうです・・・。
色々思い入れもあり、非常に残念。時代の流れなのでしょうか。
http://sankei.jp.msn.com/region/kanto/tokyo/091212/tky0912122104005-n1.htm
色々思い入れもあり、非常に残念。時代の流れなのでしょうか。
http://sankei.jp.msn.com/region/kanto/tokyo/091212/tky0912122104005-n1.htm
2009年12月25日金曜日
WordPress 2.9 (2)
バージョンアップちゃんとすんなり出来ました。でも、2.9.1が出るみたい・・・。
善し悪しありますが、WordPressのバージョンアップは頻度が多すぎます。バグ対応だけのリリースとかないのはどうかと。
善し悪しありますが、WordPressのバージョンアップは頻度が多すぎます。バグ対応だけのリリースとかないのはどうかと。
2009年12月24日木曜日
RichFaces 3,3,3,BETA1
まだベータ版ですが、RichFacesにJSF 2のサポートが入ったようです。
http://www.jboss.org/feeds/post/richfaces_3_3_3_beta1_released_with_jsf_2_support
http://www.jboss.org/feeds/post/richfaces_3_3_3_beta1_released_with_jsf_2_support
WordPress 2.9
日本語版がリリースされたようです。
弊社のHPも、このブログもWordPressなので、バージョンアップしなきゃ。テーマに不都合があると泣いてしまいますが。
しかし、年末ってのは何でかわかりませねんが、忙しくなりますですね。
弊社のHPも、このブログもWordPressなので、バージョンアップしなきゃ。テーマに不都合があると泣いてしまいますが。
しかし、年末ってのは何でかわかりませねんが、忙しくなりますですね。
2009年12月21日月曜日
Google Apps
すっかり時代遅れになっている感じですが、Google Appsで50ユーザーまで無料で独自ドメインのメールがGMailで利用できるんですねっ!
http://www.google.com/apps/intl/en/group/index.html
Google Email UploaderってのでOutlookやThunderbirdからGMailへのインポートは出来るみたいですね。
そこらの安いサーバー使うくらいならよっぽど良いに違いないですね。
登録だけしましたが、、、、MXいきなり変える訳にも行かず。苦笑
http://www.google.com/apps/intl/en/group/index.html
Google Email UploaderってのでOutlookやThunderbirdからGMailへのインポートは出来るみたいですね。
そこらの安いサーバー使うくらいならよっぽど良いに違いないですね。
登録だけしましたが、、、、MXいきなり変える訳にも行かず。苦笑
2009年12月17日木曜日
SeamTest on PostgreSQL
SeamTestでのDB操作はHSQLとMySQLしかサポートされていません。
PostgreSQLで使いたいところ。ざっと調べると実装は無さそうなので仕方ないからつくろうかな。
フリーな実装をご存知の方がいらっしゃったらお知らせ戴けると。
PostgreSQLで使いたいところ。ざっと調べると実装は無さそうなので仕方ないからつくろうかな。
フリーな実装をご存知の方がいらっしゃったらお知らせ戴けると。
2009年12月15日火曜日
共通項目を追い出そう。
・作成日
・更新日
・論理削除フラグ
の類というのは、基本的にどのテーブルにも追加していたりしませんか?
こういった場合は、何度も書くのはプログラマとしてアレなので、一箇所に追いやりたいところ。
○追い出したクラス(エンティティではない)
@Embeddable
public class Basis implements Serializable
{
@Column(nullable = false)
@NotNull
private Date entry = new Date();
@Column(nullable = false)
@NotNull
private Date modify = new Date();
@Column(nullable = false)
@NotNull
private Boolean del = false;
}
○呼び出すエンティティ側
@Embedded
private Basis basis = new Basis();
継承するんじゃなくて@EmbeddedアノテーションでDIするというのが、肝ですね。
@Versionアノテーション
なんだこれ?って思っている方も多いかと思うのですが、更新しつつ、テーブルの生データを眺めていると、更新ごとにインクリメントされているのが分かります。
楽観的ロックの能力を付与するためにあるようです。
手で操作する類のものではないので、セッターはprivateにするか取ってしまうのが良いでしょう。
楽観的ロックの能力を付与するためにあるようです。
手で操作する類のものではないので、セッターはprivateにするか取ってしまうのが良いでしょう。
@Version
private Integer version_no;
テーブルは日本語で、Entityは英語。
なんてことをしたい人が世にどれだけ居るのかは存じ上げませんが、EJB3ではそんなこともできます。
以下のようにしてあげれば、
のように翻訳可能です。
あくまでもアクション側からはエンティティ名称で操作するので、日本語が混ざってしまうのは、エンティティだけに抑えるという役目も果たしています。
以下のようにしてあげれば、
User(Entity)=> ユーザ(テーブル名称)
name(Entity)=> ユーザ名称(カラム名称)
のように翻訳可能です。
あくまでもアクション側からはエンティティ名称で操作するので、日本語が混ざってしまうのは、エンティティだけに抑えるという役目も果たしています。
@Entity
@Table(name="ユーザ")
public class User implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "ユーザ名称", nullable = false)
@NotNull
@Length(max = 20)
private String name;
@Column(name = "パスワード", nullable = false)
@NotNull
@Length(max = 10)
private String passwd;
}
2009年12月14日月曜日
@OneToMany, @ManyToOne
今日2稿目です。
親子関係にある、外部キーを持ったテーブルをEJB3のEntity Beanで表現するために、@OneToMany, @ManyToOneというアノテーションを使います。
決まり文句に近いものなので、押さえておきましょう。
○親テーブルA
○子テーブルB
吐き出されるDDLは以下のようになります。
外部キーは自動的に a_id(親テーブル名_id) となります。
親子関係にある、外部キーを持ったテーブルをEJB3のEntity Beanで表現するために、@OneToMany, @ManyToOneというアノテーションを使います。
決まり文句に近いものなので、押さえておきましょう。
A(1) -------------------> B(*)
○親テーブルA
@Entity
public class A implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Version
private Integer version;
@OneToMany(mappedBy = "a", cascade = CascadeType.REMOVE)
private Set<B> bs;
}
○子テーブルB
@Entity
public class B implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Version
private Integer version;
@ManyToOne(optional = false)
@NotNull
private A a;
}
吐き出されるDDLは以下のようになります。
CREATE TABLE A
(
id bigserial NOT NULL,
"version" integer,
CONSTRAINT a_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
CREATE TABLE B
(
id bigserial NOT NULL,
"version" integer,
a_id bigint NOT NULL,
CONSTRAINT b_pkey PRIMARY KEY (id),
CONSTRAINT fk26f4fb2dbc3ce1 FOREIGN KEY (a_id)
REFERENCES a (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);
外部キーは自動的に a_id(親テーブル名_id) となります。
EJB3.0 Entityの自動連番とPostgreSQLのserial/bigserial型
意外と書かれていなかったりするので記録を残してみます。普通は主キーにすると思うので、@Idもセットで書きましょう。
・bigserial型として宣言
・serial型として宣言
ピンとこないかもしれませんが、GenerationType.IDENTITYが肝です。他のDBでも同様と思います。
一昔前はもっとごにょごにょしなきゃいけなかったんですが、今はこれだけで大丈夫でした。
・bigserial型として宣言
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
・serial型として宣言
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
ピンとこないかもしれませんが、GenerationType.IDENTITYが肝です。他のDBでも同様と思います。
一昔前はもっとごにょごにょしなきゃいけなかったんですが、今はこれだけで大丈夫でした。
2009年12月12日土曜日
Weldのライセンス
全く気づいてませんでしたが、SeamのLGPLとは違い、APL 2.0なのか。
http://seamframework.org/Download
よくよく見ると、Web Beans 1.0.0.PREVIEW1の時のライセンスはAPL(2.0かどうかは明記されていない)
http://seamframework.org/Download
よくよく見ると、Web Beans 1.0.0.PREVIEW1の時のライセンスはAPL(2.0かどうかは明記されていない)
2009年12月11日金曜日
JBoss事例 (2)
JBossの事例を国内中心に集めてみました。
昨晩のと重複ありますが、ご容赦を。
http://www.jp.redhat.com/JBoss/customers/
http://www.nri-aitd.com/openstandia/services/jboss/jboss_case_study.html
https://www.obci.jp/c/document_library/get_file?p_l_id=14515&folderId=15202&name=DLFE-519.pdf
http://itpro.nikkeibp.co.jp/members/SI/oss/20031015/1/
http://ossipedia.ipa.go.jp/example/EX0607120168/index.html
昨晩のと重複ありますが、ご容赦を。
http://www.jp.redhat.com/JBoss/customers/
http://www.nri-aitd.com/openstandia/services/jboss/jboss_case_study.html
https://www.obci.jp/c/document_library/get_file?p_l_id=14515&folderId=15202&name=DLFE-519.pdf
http://itpro.nikkeibp.co.jp/members/SI/oss/20031015/1/
http://ossipedia.ipa.go.jp/example/EX0607120168/index.html
2009年12月10日木曜日
Thunderbird 3.0
早く寝ろ、という感じですが。苦笑
Thunderbird 3.0がリリースされていたのでバージョンアップしてみました。
が、イマイチ何故にタブがあると嬉しいのかが分かりません。
ブラウザーとは違うと思うんですが・・・。
Thunderbird 3.0がリリースされていたのでバージョンアップしてみました。
が、イマイチ何故にタブがあると嬉しいのかが分かりません。
ブラウザーとは違うと思うんですが・・・。
登録:
投稿 (Atom)