9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O... 9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう! (Open Source Conference 2021 Online Hiroshima 発表資料) 2021年9月18日 株式会社NTTデータ 技術開発本部 先進コンピューティング技術センタ 阪田 浩一

何回かに分けてJ2EEレガシーアプリケーションのJavaEEアプリケーションへのマイグレーションについて実際のコードを見ながら解説したいと思います。 変更前のサンプルソースはこちら https://github.com/megascus/oi-webapp-sample/tree/initial こちらのソースは、Tomcat上で動く、ビューがServlet2.5+JSP、O/RマッパーとしてHibernateを直接使用するという、大体2005年ぐらいに作られたシステムのイメージになっています。 また、いくつかの点にてきちんと設計されているとは言えず、MVCに沿って作られたことになっていますが、きちんとViewとModelが分離できていません。 それ以外にも問題をいくつか抱えています。 これをGlassFish4.0上でのJavaEE7仕様で作り直したいと思います。 古いシステムを新しい仕
世に出ているEJBの説明はクソみたいなものが多く、簡潔に機能や特徴を記述しているものが見当たらないので書きました。Java EE 6, 7を対象として書いています。 EJBというのはJava EEアプリケーションサーバ上で利用できるJavaのコンポーネントです。トランザクション制御などの煩雑な部分をEJBが自動的に面倒を見てくれるので、開発者はEJBの基本的なルールを抑えたあとはビジネスロジックの記述に集中することができる、というものです。EJBには4種類あります。 基本となるステートレスセッションビーン (Stateless Session Bean, SLSB) 状態を保持できるステートフルセッションビーン (Stateful Session Bean, SFSB) 単一インスタンスのシングルトンセッションビーン (Singleton Session Bean, SSB) メッセージ(
Java EE 7 に含まれるCDI1.1より、beans.xmlをアーカイブに含めなくてもCDIが有効となるように仕様が変更されました。この改善点、Java EE 6ユーザにとっては少し困惑する部分があったので、まとめておきます。 CDIとはなんぞやについてはこちらもご参照ください。 CDI1.1からはbeans.xmlがなくてもCDIが有効になる CDI1.0(Java EE 6)では、WEB-INF/beans.xmlを空ファイルでも良いので含めることで、CDIが有効となり、様々なJava EEコンポーネント(JSFのバッキングBeanやEJBなど)に@Injectで任意のクラスのインスタンスをインジェクションできました。 CDI1.1からは、WARファイルやEARファイルのなかに『bean defining annotationが付与されたクラス』または『セッションBean』が含ま
Contexts and Dependency Injection(CDI)入門 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1WebLogic Server 勉強会Context and Dependency Injection(CDI)入門2013年 6月20日日本オラクル株式会社Fusion Middleware事業統括本部 松林晶 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2Program Agenda Context and Dependency Injection(CDI)– CDIとは– CDI 1.1 New Feature(Java EE 7) 3. Copyright ©
Oracle Blogsの主としてテクノロジー製品のエントリを日本語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d
JPAは基本的なCRUDは標準で使え(データマッパーパターンなので当たり前)、定型的なクエリはNamedQueryとしてあらかじめ静的に設定しておくことができる。 しかし、完全に静的ではなく、起動時に少しいじりたいなどほんの少し動的な性的静的なクエリを作りたいこともあるはずだ。 というわけで、2.1ではNamedQueryをコードで作れるようになった。 定義 EntityManager em = emf.createEntityManager(); String sql = "select address , count(*) as count from customer group by address"; Query q = em.createNativeQuery(sql,"address_count"); em.getEntityManagerFactory().addNamedQ
Java EE 7からの新機能 JTA 1.2で追加されたTransactionalアノテーションを試してみた。 まずmessageというフィールドをもった単純なEntityクラスを作成して @Entity public class Test implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String message; // GetterとSetterは長いので省略 } 次にデータを追加するクラスを作成するのだけれども今まで作成していたSessionBeanはこんな感じ。 @Stateless public class TestFaca
本日は、エンタープライズ環境における並列処理の実装方法についてと題して、Java EE 環境で利用可能な並列処理の実装方法の歴史的背景から最新のJava EE 7 で含まれる Concurrency Utilities for EE についてもご紹介します。 それでは、この Javaの Thread の歴史について簡単におさらいをしてみます。JDK 1.0 が出た当初から、Java はマルチスレッドに対応するプログラミング言語として従来の書き方を用いて、実装する事ができました。しかし、2000年代初頭より始まった、CPU のマルチコア、CPU 内でマルチスレッドで実現するような CPU の登場によって、並列化処理に対する効率的な処理が求められるようになりました。このような中で、作られた仕様が Java SE 5 で導入された、JSR-166の Concurrency Utilities で
<dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-bundle</artifactId> <version>1.11.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.sun.jersey.jersey-test-framework</groupId> <artifactId>jersey-test-framework-http</artifactId> <version>1.11.1</version> <scope>test</scope> </dependency> Jerseyのartifactはjersey-serverやjersey-jsonなどいくつかに分かれているのですが、jersey-bun
JavaOne Report for Java EE 1. Yoshio TeradaJava Evangelisthttp://yoshio3.com, Twitter : @yoshioterada1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもので す。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み 込むことはできません。以下の事項は、マテリアルやコード、機能を提供す ることをコミットメント(確約)するものではないため、購買決定を行う際 の判断材料になさらないで下さい。オラクル製品に関して記載されている機 能の開発、リリースおよび時期については、弊社の裁量により決定されます 。 Oracleは、米国オラク
Java HTML 5 WebSocket Avatar 1. Yoshio TeradaJava Evangelisthttp://yoshio3.com, Twitter : @yoshioterada1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するもので す。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み 込むことはできません。以下の事項は、マテリアルやコード、機能を提供す ることをコミットメント(確約)するものではないため、購買決定を行う際 の判断材料になさらないで下さい。オラクル製品に関して記載されている機 能の開発、リリースおよび時期については、弊社の裁量により決定されます 。 Oracleは、米国オ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く