アーカイブ「2015年08月」

javaでwebsocketクライアントをやろうとしたら、

websocket-apiライブラリでは動かなかった。

なんでも、meta-infのserviceのところに何かを配備する必要があるらしい。

 

そこで、いろいろ調べたら、glassfishのライブラリを導入すれば、

一発で済むことがわかった。

 

pom.xmlは以下を書くだけ。

      <dependency>
        <groupId>org.glassfish.tyrus.bundles</groupId>
        <artifactId>tyrus-standalone-client</artifactId>
        <version>1.11</version>
      </dependency>

 

あとは、

WebSocketContainer cont = ContainerProvider.getWebSocketContainer();
URI uri = URI.create("ハンドシェイクのURL");
cont.connectToServer("websocketのインスタンス", uri);

で接続できる。

 

検証したのは、JDK8だが、JDK7でも大丈夫でしょう。

 

以上

投稿日時:2015年08月18日 09:29   カテゴリー:java, websocket   [コメントがあればどうぞ]

ORマッパーを作成して、

INDEXの存在確認方法を調べたのでまとめておきます。

 

【PostgreSQL】

select indexname from pg_indexes where tablename = ‘テーブル名’;

 

【MySQL・MariaDB】

SELECT INDEX_NAME FROM information_schema.STATISTICS WHERE table_name = ‘テーブル名’;

→whereに「TABLE_SCHEMA」を追加すれば、データベース名も条件に加えられる。

 

【SQLite3】

select name From sqlite_master where type = ‘index’;

→インデックス名の一覧がとれるから、そこから検索すればよい。

 

【H2】

select index_name from information_schema.indexes where table_name = ‘テーブル名;

→大文字小文字を区別している場合、テーブル名は大文字にする必要がある。

→大文字小文字を区別している場合、結果セットは大文字になるので、注意する。

→CREATE INDEX IF NOT EXISTS index_name ON table_name (column_name1, column_name2);

という形で、IF NOT EXISTS構文もサポートしている。

 

以上

投稿日時:2015年08月14日 16:08   カテゴリー:rdb   [コメントがあればどうぞ]

websocketで、回線を抜くなどの切断をしたとき、

即座にcloseハンドラで受け取れないみたい。

 

TCP自体の仕様を細かく確認してみる必要はあるが。。

 

ライブラリによっては、

再接続時に一旦closeハンドラを呼び、

滞留中のコネクションを破棄したうえで、

openハンドラをコールするものもあるようにみえる。。

 

なので、再接続時にcloseが呼ばれるケースもある、

ということを考慮しておいた方がよい場合もあると思います。

 

投稿日時:2015年08月03日 15:42   カテゴリー:websocket   [コメントがあればどうぞ]

redshiftからクエリーを引くのが遅い。。

そして、アナウンスなしにマイナーバージョンアップが多い。。。

 

データの格納庫としては、

とても優れているけど、

データの引っ張る際は、

直接クエリーで引いてもよくないな。。

 

RDB側へサマリーしておいて、

それを引いたほうがいいかも。。

 

今後に期待。

投稿日時:2015年08月03日 15:40   カテゴリー:aws   [コメントがあればどうぞ]