いつの間にかリリースされてた。
https://glassfish.java.net/download.html
2013年6月24日月曜日
WildFly 8.0.0.Alpha2
リリースされてますね~
http://www.wildfly.org/download/
https://github.com/wildfly/wildfly/tree/8.0.0.Alpha2
あー、なんか Alpha1 で作ってたプロジェクトはそのままじゃ動かんな~w
http://www.wildfly.org/download/
https://github.com/wildfly/wildfly/tree/8.0.0.Alpha2
あー、なんか Alpha1 で作ってたプロジェクトはそのままじゃ動かんな~w
2013年6月13日木曜日
OpenShift!
正式発表された、OpenShift にスモールサイズのインスタンスを作ってみたよ!
URL こういうの意外と取れるのねw
http://hoge-fuga.rhcloud.com/
さて・・・・置くモノが無いなw
URL こういうの意外と取れるのねw
http://hoge-fuga.rhcloud.com/
さて・・・・置くモノが無いなw
2013年6月4日火曜日
Java EE 7 is Final!
気づくのが遅くなってしまいましたが、EE 7 spec が Final Release になっていました。
http://jcp.org/en/jsr/detail?id=342
あとは、個人的に気にしている spec を列挙しときます。(自分用のメモ)
WebSocket(JSR356)
http://www.jcp.org/en/jsr/detail?id=356
EJB 3.2(JSR345)
http://jcp.org/en/jsr/detail?id=345
JMS 2.0(JSR343)
http://jcp.org/en/jsr/detail?id=343
JAX-RS 2.0(JSR339)
http://jcp.org/en/jsr/detail?id=339
http://jcp.org/en/jsr/detail?id=342
あとは、個人的に気にしている spec を列挙しときます。(自分用のメモ)
WebSocket(JSR356)
http://www.jcp.org/en/jsr/detail?id=356
EJB 3.2(JSR345)
http://jcp.org/en/jsr/detail?id=345
JMS 2.0(JSR343)
http://jcp.org/en/jsr/detail?id=343
JAX-RS 2.0(JSR339)
http://jcp.org/en/jsr/detail?id=339
2013年5月18日土曜日
WildFly 8.0.0.Alpha1 をビルド
WildFly 8.0.0.Alpha1 のタグ付けがされたようなので、早速ビルドしてみたよ!
ビルドが終わったら、以下のようにしてインストール先にバイナリを移動します。
で、起動
以下が表示されれば起動完了!
$ cd /path/to
$ git clone https://github.com/wildfly/wildfly.git
$ cd wildfly
$ git tag
7.0.0.Alpha1
7.0.0.Alpha1-final
7.0.0.Beta1
7.0.0.Beta1-prerelease
7.0.0.Beta2
7.0.0.Beta2-prerelease
7.0.0.Beta3
7.0.0.CR1
7.0.0.Final
7.0.0.Final-prerelease
7.0.0.Final-prerelease2
7.0.0.Final-prerelease3
7.0.1.Final
7.0.2.Final
7.0.2.Final-prerelease
7.0.2.SP1-prerelease
7.1.0.Alpha1
7.1.0.Beta1
7.1.0.Beta1b
7.1.0.Beta1b-prerelease
7.1.0.CR1
7.1.0.CR1b
7.1.0.Final
7.1.0.Final-prerelease
7.1.0.Final-prerelease2
7.1.1.Final
7.1.2-prerelease
7.1.2.Final
7.1.3.Beta1
7.1.3.CR1
7.1.3.Final
7.2.0.Final
7.2.0.Final-prerelease1
7.2.0.Final-testsuite-fix
8.0.0.Alpha1
$ git checkout -b new 8.0.0.Alpha1
$ JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 ./build.sh -DskipTests
ビルドが終わったら、以下のようにしてインストール先にバイナリを移動します。
$ mv build/target/wildfly-8.0.0.Alpha1/ /usr/local/jboss/
で、起動
$ cd /usr/local/jboss/wildfly-8.0.0.Alpha1
$ JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 ./standalone.sh
以下が表示されれば起動完了!
15:40:49,486 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Alpha1 "WildFly" started in 5917ms - Started 154 of 191 services (57 services are lazy, passive or on-demand)
2013年4月30日火曜日
Java EE 7 リリーススケジュール
5/13 予定のリリーススケジュールの詳細。
https://java.net/projects/javaee-spec/pages/Home#Java_EE_7_Schedule
http://den2sn.hatenablog.com/entry/2013/04/25/075201
予定だと、もう JSR356 は spec release されてもおかしくないんだけど、遅れているのかな?
https://java.net/projects/javaee-spec/pages/Home#Java_EE_7_Schedule
http://den2sn.hatenablog.com/entry/2013/04/25/075201
予定だと、もう JSR356 は spec release されてもおかしくないんだけど、遅れているのかな?
2013年4月11日木曜日
Atmosphere-jsr356
Atomosphere の JSR356 対応版の github を発見。
https://github.com/Atmosphere/atmosphere-jsr356
今のところ、クラスが2つ入っているだけのラッパーみたいだけど、JBoss でも JSR356 できそうな?
https://github.com/Atmosphere/atmosphere-jsr356
今のところ、クラスが2つ入っているだけのラッパーみたいだけど、JBoss でも JSR356 できそうな?
GlassFish4 WebSocket
はい。
WebSocket を JSR356 で実装したいので、しばらくおとなしく GlassFish4 でも使うことにします。
参考ページ乗せますが、既に spec 自体が変わっていてそのままは使えません。
素直に最新 spec 読むのが一番ですw
http://jcp.org/en/jsr/detail?id=356
http://d.hatena.ne.jp/m-prog/20121027/1351324887
https://blogs.oracle.com/arungupta/entry/websocket_applications_using_java_jsr
http://yoshio3.com/2012/11/12/websocket-twitter-timeline-sample/
早く、JBoss でも JSR356 が取り込まれることを期待しますw
WebSocket を JSR356 で実装したいので、しばらくおとなしく GlassFish4 でも使うことにします。
参考ページ乗せますが、既に spec 自体が変わっていてそのままは使えません。
素直に最新 spec 読むのが一番ですw
http://jcp.org/en/jsr/detail?id=356
http://d.hatena.ne.jp/m-prog/20121027/1351324887
https://blogs.oracle.com/arungupta/entry/websocket_applications_using_java_jsr
http://yoshio3.com/2012/11/12/websocket-twitter-timeline-sample/
早く、JBoss でも JSR356 が取り込まれることを期待しますw
2013年3月26日火曜日
2013年3月8日金曜日
JBoss AS 7.2.0.Final ?
どうも、全国1億2千万人の閲覧者の方々こんにちわ(ぇ
久しぶりに、JBoss AS の github を観てたら、7.2.0.Final のタグ付けがあることに気づいた僕です。
https://github.com/jbossas/jboss-as/tree/7.2.0.Final
タグ付けされたのは分かりましたが、リリースされてるのか全くよく分かりません。
「Prepare 7.2.0.Final for pre-releases」
うーん。まぁとりあえずビルドして動かしてみました。
JBDS6 は AS 7.1 までにしか対応してないので、7.1 のコネクタで登録しようと思いましたが、
確かに無いですね。ディレクトリ構造変わってます。
あぁ、これですね。
https://community.jboss.org/thread/221076
SymLink 貼れと。そうですか。Windows の人はごっそりコピーしろと。やれやれだ。
久しぶりに、JBoss AS の github を観てたら、7.2.0.Final のタグ付けがあることに気づいた僕です。
https://github.com/jbossas/jboss-as/tree/7.2.0.Final
タグ付けされたのは分かりましたが、リリースされてるのか全くよく分かりません。
「Prepare 7.2.0.Final for pre-releases」
うーん。まぁとりあえずビルドして動かしてみました。
13:23:40,728 INFO [org.jboss.as] (MSC service thread 1-5) JBAS015950: JBoss AS 7.2.0.Final "Janus" stopped in 262msそうですか。うーんw
JBDS6 は AS 7.1 までにしか対応してないので、7.1 のコネクタで登録しようと思いましたが、
The home directory does not exist or is missing a required file or folder: modules\org\jboss\as\server\mainそうですかw
確かに無いですね。ディレクトリ構造変わってます。
あぁ、これですね。
https://community.jboss.org/thread/221076
SymLink 貼れと。そうですか。Windows の人はごっそりコピーしろと。やれやれだ。
2013年2月20日水曜日
@Enumerated
JPA に @Enumerated というアノテーションがあるのですが、今日はこの子にがっかりさせられました。
とかするわけなんですが、これだとこちらにあるとおり、列挙型を定義した順に、0,1,2 の順の値しか持てないんですね。(当たり前といえば当たり前なのかもしれないけど・・・・)
http://tomee.apache.org/examples-trunk/jpa-enumerated/
仕方ないので、EnumType.STRING としとくと、上記の例だと「OFF」という文字列が入ります。列挙型に定義する順序は重要だと思うので、こちらのほうがいくらかマシですね・・・・
@Enumerated(EnumType.ORDINAL)
private HogeEnum hoge = HogeEnum.OFF;
とかするわけなんですが、これだとこちらにあるとおり、列挙型を定義した順に、0,1,2 の順の値しか持てないんですね。(当たり前といえば当たり前なのかもしれないけど・・・・)
http://tomee.apache.org/examples-trunk/jpa-enumerated/
仕方ないので、EnumType.STRING としとくと、上記の例だと「OFF」という文字列が入ります。列挙型に定義する順序は重要だと思うので、こちらのほうがいくらかマシですね・・・・
2013年1月29日火曜日
JPA2 Metamodel
JPA2 には、TypeSafe の施策として Metamodel という概念があるようです。
以下のサイトのように、「エンティティ名」+「_.」 +「カラム名」みたな感じで使うことになるようです。
http://www.ibm.com/developerworks/java/library/j-typesafejpa/
具体的な Metamodel の記述方法は以下のサイトが参考になりますね。
http://d.hatena.ne.jp/hayassh/20091027/1256656564
さらに、Hibernate JPA 2 Metamodel Generator というがあるようです。
http://docs.jboss.org/hibernate/jpamodelgen/1.0/reference/en-US/html_single/
本音を言えば、JPA2 が変更時の同期も含め、自動的に作ってくれるのがうれしいですが、少なくとも TypeSafe できますよ。というお話でした。
以下のサイトのように、「エンティティ名」+「_.」 +「カラム名」みたな感じで使うことになるようです。
http://www.ibm.com/developerworks/java/library/j-typesafejpa/
具体的な Metamodel の記述方法は以下のサイトが参考になりますね。
http://d.hatena.ne.jp/hayassh/20091027/1256656564
さらに、Hibernate JPA 2 Metamodel Generator というがあるようです。
http://docs.jboss.org/hibernate/jpamodelgen/1.0/reference/en-US/html_single/
本音を言えば、JPA2 が変更時の同期も含め、自動的に作ってくれるのがうれしいですが、少なくとも TypeSafe できますよ。というお話でした。
2013年1月28日月曜日
JPA Criteria API by samples
JPA Criteria と通常の JPQL の対比サンプル。並べてもらえるとわかりやすいですね。
JPA Criteria API by samples — Part-I | by altuure | altuure | Medium
JPA Criteria API by samples — Part-II | by altuure | altuure | Medium
JPA Criteria API by samples — Part-I | by altuure | altuure | Medium
JPA Criteria API by samples — Part-II | by altuure | altuure | Medium
※2022/4/4 リンク切れのため修正
2013年1月23日水曜日
EJB 3.1 の定期処理
AS 7.1 で、Quartz 使おうとしたら、ないのね・・・・。
と言うわけで、定期処理には、@Schedule を使うみたいです。
http://www.kevinhooke.com/2012/11/19/ee6-schedule-timer-service-on-jboss-as-7-1/
http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html
と言うわけで、定期処理には、@Schedule を使うみたいです。
http://www.kevinhooke.com/2012/11/19/ee6-schedule-timer-service-on-jboss-as-7-1/
http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html
2013年1月15日火曜日
Forge で scaffold from-entity で生成した JSF/Bean
Forge で、scaffold from-entity すると、エンティティがシーケンス採番されてることが前提となった作りの JSF と、Bean が生成される。
これは困る・・・・そんなわけで。
◇エンティティの @Id 列の型が String の場合の対処法
これは困る・・・・そんなわけで。
◇エンティティの @Id 列の型が String の場合の対処法
- JSF には、@Id 列がごっそり抜けてるので、地道に @Id 列を追加。
- Bean では、@Id 列が Long であることを前提とされている!ので、こんなけ書き換え
private String id;
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
public Employee findById(Object id) {
return this.entityManager.find(Employee.class, id);
}
2013年1月8日火曜日
Servlet3 で、SetCharacterEncodingFilter
あけおめことよろ。
ってことで、Servlet3 で、フォーム文字化け回避ってどうするの?
って思ったらすぐ見つかった。
SetCharacterEncodingFilter 使って tomcat の例の文字化けを回避したい
http://d.hatena.ne.jp/Yoshiori/20111102/1320242301
web.xml への設定は不要。
JBoss 7.1 & RESTEasy に適用したけど大丈夫でしたよ。当たり前か。
ってことで、Servlet3 で、フォーム文字化け回避ってどうするの?
って思ったらすぐ見つかった。
SetCharacterEncodingFilter 使って tomcat の例の文字化けを回避したい
http://d.hatena.ne.jp/Yoshiori/20111102/1320242301
web.xml への設定は不要。
JBoss 7.1 & RESTEasy に適用したけど大丈夫でしたよ。当たり前か。
2012年12月19日水曜日
RESTEasy を使ったバリデーション(続編)
この前ご紹介した、RESTEasy の Bean Validator を使ってみようと思ったら、こんなエラーが。orz
詳しくまとまってるサイトを見つけたですが、関連は不明だけど、こんなことが書いてある。
んー、もうちょっと頑張ってみる。
いやーん・・・・・。
22:36:21,356 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/rest].[jp.vyw.rest.sample.SampleApplication]] (http--127.0.0.1-8080-1) サーブレット jp.vyw.rest.sample.SampleApplication のServlet.service()が例外を投げました: org.jboss.resteasy.spi.UnhandledException: javax.validation.ConstraintDeclarationException: Only the root method of an overridden method in an inheritance hierarchy may be annotated with parameter constraints, but there are parameter constraints defined at all of the following overridden methods: [MethodMetaData [method=public abstract void jp.vyw.rest.sample.api.ISample.insert(java.lang.String,java.lang.String), parameterMetaData=[ParameterMetaData [type=class java.lang.String], [index=0], name=arg0], constraints=[NotNull, Size], isCascading=false], ParameterMetaData [type=class java.lang.String], [index=1], name=arg1], constraints=[], isCascading=false]], constraints=[], isCascading=false, hasParameterConstraints=true], MethodMetaData [method=public void jp.vyw.rest.sample.api.ISample$$$view33.insert(java.lang.String,java.lang.String), parameterMetaData=[ParameterMetaData [type=class java.lang.String], [index=0], name=arg0], constraints=[NotNull, Size], isCascading=false], ParameterMetaData [type=class java.lang.String], [index=1], name=arg1], constraints=[], isCascading=false]], constraints=[], isCascading=false, hasParameterConstraints=true]]
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:245) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.2.Final.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
Caused by: javax.validation.ConstraintDeclarationException: Only the root method of an overridden method in an inheritance hierarchy may be annotated with parameter constraints, but there are parameter constraints defined at all of the following overridden methods: [MethodMetaData [method=public abstract void jp.vyw.rest.sample.api.ISample.insert(java.lang.String,java.lang.String), parameterMetaData=[ParameterMetaData [type=class java.lang.String], [index=0], name=arg0], constraints=[NotNull, Size], isCascading=false], ParameterMetaData [type=class java.lang.String], [index=1], name=arg1], constraints=[], isCascading=false]], constraints=[], isCascading=false, hasParameterConstraints=true], MethodMetaData [method=public void jp.vyw.rest.sample.api.ISample$$$view33.insert(java.lang.String,java.lang.String), parameterMetaData=[ParameterMetaData [type=class java.lang.String], [index=0], name=arg0], constraints=[NotNull, Size], isCascading=false], ParameterMetaData [type=class java.lang.String], [index=1], name=arg1], constraints=[], isCascading=false]], constraints=[], isCascading=false, hasParameterConstraints=true]]
at org.hibernate.validator.metadata.AggregatedMethodMetaData$Builder.checkParameterConstraints(AggregatedMethodMetaData.java:222) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.metadata.AggregatedMethodMetaData$Builder.build(AggregatedMethodMetaData.java:161) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.metadata.BeanMetaDataImpl.buildMethodMetaData(BeanMetaDataImpl.java:391) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.metadata.BeanMetaDataImpl.<init>(BeanMetaDataImpl.java:286) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.metadata.BeanMetaDataImpl.<init>(BeanMetaDataImpl.java:163) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.engine.ValidatorImpl.getBeanMetaData(ValidatorImpl.java:1211) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:302) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:139) [hibernate-validator-4.2.0.Final.jar:4.2.0.Final]
at org.jboss.resteasy.plugins.validation.hibernate.HibernateValidatorAdapter.applyValidation(HibernateValidatorAdapter.java:39) [resteasy-hibernatevalidator-provider-2.3.2.Final.jar:]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:150) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) [resteasy-jaxrs-2.3.2.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.2.Final.jar:]
... 20 more
詳しくまとまってるサイトを見つけたですが、関連は不明だけど、こんなことが書いてある。
To provide translations to other languages, one must create a new ValidationMessages_XX.properties file with the translated messages, where XX is the code of the language being provided.
Unfortunately Hibernate Validator provider doesn’t supports I18N based on a specific HTTP request. It does not take Accept-Language HTTP header into account and always uses the default Locale as provided by Locale.getDefault(). To be able to change the Locale using the Accept-Language HTTP header, a custom implementation must be provided.
んー、もうちょっと頑張ってみる。
登録:
投稿 (Atom)

.png)