HttpServiceとWAB(Web Application Bundle)

GlassfishでWebアプリケーションからOSGiバンドルを利用する 前回のサンプルでは、Webアプリケーション自体はwarとしてディプロイし、依存するサービスをOSGiバンドルとしてディプロイして@Resourceでインジェクションしていました。今回は、アプリケーショ…

Javaでtarファイルを操作する

Javaでtarファイルを操作する場合には、Commons Compressを使用するのが簡単そうです。Commons Compresは他にもbzip2やgzipにも対応しています。サイトのサンプルとJavadocを見ればだいたいの使い方はわかると思いますが。 File[] filesToArchive = {file1, …

GlassfishでWebアプリケーションからOSGiバンドルを利用する

NetBeans IDE の Maven を使用した OSGi 宣言型サービス このサンプルを動かしてみました。Glassfishは通常のWebアプリケーション(war/ear)と同じようにOSGiバンドルがディプロイできます。このサンプルは、GlassfishにディプロイしたOSGiバンドルが公開する…

Glassfish 3.1でautodeployフォルダに入れたjarがディプロイされない

GlassFish Server Open Source Edition 3.1 (build 43)時点での情報で、将来的には変更されるかもしれませんが、ドメインのautodeploy/bundleフォルダにコピーしたjarの自動ディプロイ(インストール)が初期状態で無効になっているようです。 Glassfish Proje…

IAMでS3のbucketにアクセスできるユーザーを制限する

AWS ConsoleでAWS Identity and Access Management (IAM)が操作できるようになったので試してみました。しかし、APIを直接叩かなくなくてよくなったから簡単、ではなかったです。 いずれの方法にしろJSON形式のPolicyを定義する必要があります。AWS Policy G…

Gladinet Cloud DesktopでS3のBucketをマウントする

Gladinet Cloud Desktopは、S3のようなクラウドストレージサービスをWindowsのネットワークドライブとしてマウントするアプリケーションです。以前、Linuxでs3fsのようなソフトがないかと調査したときには有償ソフトだと思っていたのですが、Starter Edition…

b-mobile Fairを買ってみた

いままで、Galaxy Sにb-mobile U300というSIMを入れて使ってきましたが6ヶ月の期間が切れたので、b-mobile Fairにしてみました。ちょうど2週間くらい使ったので感想を書きたいと思います。b-mobile Fairは、最長120日間で1GBまで通信できるサービスで使い切…

Bluetoothヘッドフォンのレビュー

最近、通勤や散歩中はGalaxy SにBluetoothヘッドフォンを接続してPodcastや音楽を聞いていることが多いんですが、コードレスなのは快適です。以前、iPodにBluetoothアダプタをつけて使っていたときは、充電など使い勝手が悪くて結局やめてしまったのですが、…

エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型本購入: 18人 クリック: 1,330回この商品を含むブロ…

子供が川崎病にかかり入院していました

すでに退院し後遺症もみられず元気になっていますが、先月、2歳の息子が川崎病にかかって2週間ほど入院していました。記録として書いておこうと思います。 患者と家族のための川崎病Q&A作者: 原田研介出版社/メーカー: ライフサイエンス発売日: 2006/12メデ…

EC2でLinuxインスタンスのボリュームサイズを変更する

Linuxインスタンスでボリュームサイズを変更する手順です。 AWS Consoleで、インスタンスを停止します。 変更したいボリュームのスナップショットを作成します。 スナップショットからボリュームを作成します。ここで変更後のサイズを指定します。 ボリュー…

"No version string found in output of hg version"というエラーでMercurialリポジトリにアクセスできない

FisheyeはAtlassian社の高機能なリポジトリビューアです。 FisheyeにはGitやMercurialといった分散バージョン管理システムにアクセスする機能がありますが、バージョン2.5.5のGlobal Settings画面でMecurialの実行ファイルのパスを指定しようとすると、以下…

UbuntuでのApache + Subversion + ViewVC環境構築

サーバを移行したときの作業のメモです。Ubuntu Serverに、ApacheのWebDAVでアクセスするSubversionリポジトリを構築して、リポジトリビューアとしてViewVCをインストールします。apt-getで必要なソフトウェアをインストールします sudo apt-get install apa…

SQL Serverのsqlcmdに引数を渡す

SQL Serverのsqlcmdで、コマンドラインからSQLを実行する場合に引数(スクリプト変数)を渡すには、-vオプションを使います。 sqlcmd -b -v foo=bar -i input.sql SQL文中では$(foo)として参照することができます。-bオプションを付けるとスクリプト変数が存在…

コマンドラインからJenkinsのジョブを実行する

コマンドラインからJenkinsのジョブを実行する方法を二つ。 wgetでURLにアクセスする Jenkins CLIを使う wget ジョブの実行ボタンをクリックしたときのURLにwgetやcURL経由でアクセスします。認証をかけている場合にはBasic認証でユーザ名/パスワードを渡し…

Ubuntuのデフォルトロケールを変更する

EC2で利用可能なUbuntu ServerのAMIには日本語リソースが入っていないので、ロケールを変更しただけではコンソールで日本語が使えません。 $ sudo apt-get install language-pack-ja $ sudo update-locale LANG=ja_JP.UTF-8 これで、日本語の言語パックがイ…

Jenkins Mercurial Pluginでbitbucketにアクセスする

JenkinsでMercurial Pluginを使ってbitbucketのリポジトリにアクセスしてみます。 まずは、マスタのサーバにMercurialをインストールします(Ubuntuです)。 ubuntu@ci: ~$sudo apt-get install mercurial 認証用のSSH鍵を作成していない場合には作成します。…

Ubuntuでのタイムゾーンの変更

$ sudo dpkg-reconfigure tzdata ウィザードが起動したら、Asia -> Tokyo を選択。

EC2インスタンス起動時にRoute53のリソースレコードを更新する

EC2は完全従量制でインスタンスを起動していないときには、EBSを除きほぼ課金が発生しないため、検証用など必要なときだけすぐにサーバを準備できるので非常に便利です。ただ、必要なときしか使わないインスタンスに、Elastic IPアドレス(固定IP)を割り当て…

コマンドラインからRoute53を操作する

Route 53 Getting Started Guideでは、Hosted Zoneを操作するためのXMLは別途作っておいて、dnscurl.plというスクリプトで署名してリクエストを送信しています。もう少し高レベルのAPIで操作できるものはないかと探してみたところ、cli53というpythonのツー…

EC2のWindowsインスタンスの起動時にElastic IPアドレスを設定する

EC2で起動中のインスタンスに割り当てられるパブリックIPアドレスは、起動するたびに異なります。IPアドレスを固定するためにはElastic IPアドレスという機能で固定のパブリックIPアドレスを取得し、インスタンスにそのIPアドレスを設定します。また、IPアド…

GroovyでXML-RPCを使う

以前、GroovyでXMLRPC経由でConfluenceのAPIにアクセスする方法について、以下のエントリを書きました。その際はXMLRPCのライブラリ追加方法には触れませんでしたが、GROOVY_HOMEのlibにjarを放り込んでいました。今回、Grapeという依存ライブラリ管理ツール…

EC2のWindowsインスタンスを使う

数年前から社内のサーバはVMware ESXiに集約するようにして、台数が減ってだいぶ楽になったとはいえ、物理サーバのお守りは極力やりたくないのが正直なところです。ということで、今回の震災を契機に社内業務で使っているWindowsサーバもEC2に移行できないか…

EC2 API Toolsのインストール

EC2をコマンドラインで管理するためのEC2 API Toolsのインストール手順のメモです。 事前準備 AWSのサイトでX.509 証明書を取得しておきます。 cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem Windows Javaについては…

Maven2プロジェクトのビルドが失敗する

いつの間にかMaven2プロジェクトのビルドが、以下のエラーで失敗するようになっていました。Jenkins ver. 1.400にて。 ERROR: A Maven installation needs to be available for this project to be built. Either your server has no Maven installations de…

S3Sync.rbでS3にファイルをバックアップする

震災の影響で突発的な停電の可能性もありAmazon S3へのバックアップ環境を構築しました。S3にローカルファイルをアップロードするプログラムはいくつかありますが、オープンソースのもの中心にいくつか試してみた限りは以下がよさそうです。 S3Sync.rb s3fs …

最近読んだ本(Javaルールブック, 小さいおうち)

Javaルールブック Javaルールブック ?読みやすく効率的なコードの原則作者: 大谷晋平,米林正明,片山暁雄,横田健彦,電通国際情報サービス出版社/メーカー: 技術評論社発売日: 2011/02/15メディア: 単行本(ソフトカバー)購入: 4人 クリック: 159回この商品を…

震災の日のこと

すでに東北関東大震災から十日以上が経ちました。幸い私はほとんど被害はうけていないのですが、忘れないうちに震災の日のことをメモしておこうと思います。 地震発生当時、私は都内のオフィスビルの2階にある勤務先にいました。低層階だったためか、揺れて…

最近読んだ本(大規模サービス技術入門, Java: The Good Parts)

大規模サービス技術入門 [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)作者: 伊藤直也,田中慎司出版社/メーカー: 技術評論社発売日: 2010/07/07メディア: 単行本(ソフトカバー)購…

JavaからWindowsのレジストリにアクセスするライブラリ

JavaからWindowsのレジストリにアクセスするライブラリについて調査したのでまとめておきます。いくつかのライブラリがありますが、基本的にはJNI経由でWin32 APIを呼び出しています。 Roxes Win32 for Java (Orangevolt Ant Tasksの一部) JRegistry SWT(Ecl…