先ほどリリースされたのを確認できたので、とりあえず起動まで。
EE7 が普及してほしいので、早くEAPが出るといいなー。
2013年12月25日水曜日
WildFly 8.0.0.CR1
ようやく出てたのでとりあえずいつものブート。
久しぶりに、ZIP 版が生きてましたw
Final は1月末みたいですね。
https://issues.jboss.org/browse/WFLY?selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel&_sscc=t
久しぶりに、ZIP 版が生きてましたw
Final は1月末みたいですね。
https://issues.jboss.org/browse/WFLY?selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel&_sscc=t
2013年11月13日水曜日
RESTEasy の Bean Validation
そんなの API で受けてから手動でやりなさいよ!と言われるかもしれないけどできることなら冗長なコードは排除したい。
そんなあなたに ExceptionMapper を使う方法を。
使い方が変わったようなので新旧書いときます。(大体同じようなことはしてますが全く同じではないので注意)
※RESTEasy 2.3 の方は EJB との組み合わせに問題がある・・・・ので、できれば RESTEasy 3 の方がおすすめです。
□WildFly 8.0.0.Beta1 & RESTEasy 3.0.4.Final
□JSON 出力のためのドメインクラス
□pom.xml(RESTEasy 3.0.4.Final)
そんなあなたに ExceptionMapper を使う方法を。
使い方が変わったようなので新旧書いときます。(大体同じようなことはしてますが全く同じではないので注意)
※RESTEasy 2.3 の方は EJB との組み合わせに問題がある・・・・ので、できれば RESTEasy 3 の方がおすすめです。
□WildFly 8.0.0.Beta1 & RESTEasy 3.0.4.Final
@Provider□JBoss AS 7.1.x & RESTEasy 2.3.x
public class ValidationExceptionHandler implements
ExceptionMapper<ResteasyViolationException> {
@Override
@Produces(MediaType.APPLICATION_JSON)
public Response toResponse(ResteasyViolationException exception) {
ValidateMessage errors = new ValidateMessage();
for (ResteasyConstraintViolation violation : exception.getViolations()) {
errors.getMessages().add(
new Message(String.format("%s:%s:%s:%s", violation
.getPath(), violation.getConstraintType().name(),
violation.getValue(), violation.getMessage())));
}
return Response.status(Status.BAD_REQUEST).entity(errors).build();
}
}
@Provider
public class ValidationExceptionHandler implements
ExceptionMapper<MethodConstraintViolationException> {
@Override
@Produces({ MediaType.APPLICATION_JSON })
public Response toResponse(MethodConstraintViolationException ex) {
ValidateMessage errors = new ValidateMessage();
for (MethodConstraintViolation<?> violation : ex
.getConstraintViolations()) {
errors.getMessages().add(
new Message(String.format("%s:%s:%s:%s", violation
.getMethod().getName(), violation
.getParameterName(), violation.getInvalidValue(),
violation.getMessage())));
}
return Response.status(Status.BAD_REQUEST).entity(errors).build();
}
}
□JSON 出力のためのドメインクラス
@XmlRootElement(name = "validate_message")
public class ValidateMessage implements Serializable {
private static final long serialVersionUID = 1L;
private List<Message> messages = new ArrayList<Message>();
public static class Message {
private String message;
public Message() {
}
public Message(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@XmlElementWrapper(name = "messages")
@XmlElement(name = "message")
public List<Message> getMessages() {
return messages;
}
public void setMessages(List<Message> messages) {
this.messages = messages;
}
}
□pom.xml(RESTEasy 3.0.4.Final)
<dependency>□pom.xml(RESTEasy 2.3.x)
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-validator-provider-11</artifactId>
<version>3.0.4.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-hibernatevalidator-provider</artifactId>
<version>2.3.7.Final</version>
</dependency>
2013年9月30日月曜日
2013年9月26日木曜日
SwitchYard on OpenShift
デモビデオが出てたので貼っときます。
http://vimeo.com/75402902#
え。でも、OpenShift の SwitchYard って 0.4 じゃなかった?
・・・・と思ったら、0.8 に上がってました。なぜ 1.0 じゃない?w
あ、ここに纏められるみたいですね^^
https://community.jboss.org/wiki/SwitchYardVideoSeries
http://vimeo.com/75402902#
え。でも、OpenShift の SwitchYard って 0.4 じゃなかった?
・・・・と思ったら、0.8 に上がってました。なぜ 1.0 じゃない?w
あ、ここに纏められるみたいですね^^
https://community.jboss.org/wiki/SwitchYardVideoSeries
2013年9月11日水曜日
最近困っている不具合一覧
■解決して助かった問題
- Make RESTeasy gateway aware of runtime and application faults
https://issues.jboss.org/browse/SWITCHYARD-1601
- Server-side parallel REST accesses cause IllegalStateException
https://issues.jboss.org/browse/SWITCHYARD-1677
- It seems that RESTEasy binding builds nested javax.ws.rs.core.Response
https://issues.jboss.org/browse/SWITCHYARD-1679
- Asynchronous processing support for RESTEasy binding
https://issues.jboss.org/browse/SWITCHYARD-1684
2013年8月8日木曜日
Support injection of JMSContext
WildFly で JMS の @Inject アノテーションによるインジェクションができないという問題(正確には、JMS 2.0 機能が満たせてないだけ)があったのですが、対応が入ったみたいです。
https://issues.jboss.org/browse/WFLY-1286
コード量が少し減りますかね。
https://issues.jboss.org/browse/WFLY-1286
コード量が少し減りますかね。
2013年7月29日月曜日
2013年6月25日火曜日
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
登録:
投稿 (Atom)