hatenob

プログラムって分からないことだらけ

java

一人Web開発 Season.2~第4夜 HTTPサーバ探し~

HTTPで会話できるAPIコンテナを模索しておりまして、やはり馴染み深いJBossプロジェクトに落ち着きつつあり、とは言え今だAlphaのwildfly-swarmは使えないしあまりフルスタックなのは求めていない、という流れで、ひとまずJAX-RSをスタンドアロンで実行でき…

WildflyでMANIFEST.MFの内容を取る

別にWildfly固有の話ではないと思うけれど、試したのがWildflyだったもので。 エラーの時の情報の一つとして出力するために、jarやwarにMANIFEST.MFを入れて、そこに書かれているバージョンとかをアプリケーション側で参照できるようにしたいなぁと思って調…

Wildfly SwarmでMicroservices on JavaEE

前回、Wildfly Swarmを使った記事を書きました。 当時はなぜかうまく動かったのですが、Githubのリポジトリから最新のソースを入手してビルドしたら動くようになりました。JAX-RSとServletFilterを使ったプログラムは難なく動きました。 @Path("hello") publ…

WildflyでJAX-WSの非同期コール

JAX-WSを使ってサービスコールをする際には、3つの呼出し方が選べる。 同期 非同期コールバック 非同期ポーリング あくまで、「コンシューマが選択できるもの」としてこの3つを試したみた。 もちろん、プロバイダ側を非同期型にする(この場合、コンシューマ…

Wildfly 8でJAAS

Wildfly8でJAASの動きを確認した時のメモ。 JAAS Java Authentication and Authorization ServiceはJavaの認証認可機構のこと。 ユーザとロールを紐づけ、そのロールでアクセスできるURLやらEJBやらを制御することができるもの。 認証方式はいくつか取れるが…

Wildflyで2つのデータソースでJPA使ったトランザクション

試したみたことのメモ。 試したこと Wildflyで、同一のDBを指す、名前以外は同じの2つのデータソースを定義する。 JPA用にそれぞれのpersistence-unitを定義。 1つのEJB処理の中で2つのpersistence-unitに対して操作を行うとどうなるか? 試した理由 物理的…

JPAでHibernateの更新時の楽観ロックエラーの実装を確認した

ちょっと調べものをしていたのでメモ。 調べたかったこと JPAのEntityで楽観ロック(@Version)を使った場合、更新時にjavax.persistence.OptimisticLockExceptionになる条件。 調べかった理由 VersionチェックのためにSQL投げたりしてないよね?というのを…

JPAでカーソル操作

JPAで複数件取得する時は、getResultListで取得するのが一般的なやり方です。 画面で数十件ずつページングをしながら表示をさせるようなケースではこれでよいのだと思いますが、数万件とかになるとそれが全部オブジェクトとしてヒープに乗ってきてしまうので…

Wildfly 8でメソッドの実行時間を取るインタセプターを作る

メソッドの実行時間を取りたいなぁというとき、メソッドの最初と最後でSystem.currentTimeMillis()してその差をログに出す、なんてことをよくやるわけですが(プロファイラ使えばそもそもそんなことやらなくていいんでしょうが)、直接メソッド内に処理を書…

Wildfly 8でEJBとJAX-WSを同じインタフェースで呼ぶ

JAX-RSのServiceを、同じ「Service」として例えばJSFのManagedBeanから、EJBでもJAX-WSでも呼べるようにしてみた。 それ自体は別に難しいことではなかったです。 Serviceクラス // for JAX-RS @Path("todo") // for JAX-WS @WebService // for EJB @Stateles…

Wildfly 8とHibernate OGMでMongoDBにJPA

前回からの続き的内容。 RESTの受け口が作れたので、今度はそれを永続化するところに挑戦。永続化と言えばDBなので、MySQLとかでもいんだけれども、せっかくなのでMongoDBに永続化することにしてみます。 Javaなので、APIは当然JPAです!って、MongoDBとかっ…

JAX-RS on Wildfly 8 でhello的なもの

前回AngularJS使ってみてて、サーバ側はRESTインタフェースで構えようと思ったらJAX-RSの使い方とかよく知らないのにはたと気づいたので、Wildfly8.2でJAX-RSのhello world的なものを試してみました。 いやほんと、今更ながらそんなレベルです。 Java Javaの…

Androidでjarをライブラリとして使用する

ちょっとAndroidのアプリを書いておりまして少しだけはまりました。とある機能をPCでもAndroidでも使えるように、ライブラリとしてjarでパッケージングをしました。 PCではちゃんと動きました。Androidで使うには、単にlibsの下にそのjarを置けばいい、はず…

WebSocketの簡単なプログラム

JavaEE7で採用されたWebSocketの簡単なプログラムを書いてみました。 chanko/chanko-web at master · nobrooklyn/chanko · GitHub参考にしたのはコチラです。 WebSockets tutorial on Wildfly 8 - WebSockets - JBoss application server tutorials 環境 Wil…

Javaで適当にSocketプログラム

ひょんなことから、Javaのソケットの振る舞いをちゃんと確認しておこうと思いまして、サーバソケットプログラムを書いてみました。ただ書くのも何なので、マルチスレッドで処理できるようにしてみました。 で、ただマルチスレッドも何なので、着信スレッドと…