2009年7月27日月曜日

sunwappserver を CentOS 上で自動起動させる

Sun Java System Application Server 通称 Sunwappserver を CentOS でサービスとして起動させることに苦しんだので、載せておきます。

sunwappserver はインストール済みとします。
下記コードを /etc/init.d 下に名前を付けて保存します。わたしは、 sunwappserver と名前をつけました。



root になって、作成したファイルに実行権限を付与します。
chmod +x ./sunwapp

同じく root でサービスとして登録します。
/sbin/chkconfig --add sunwapp

以上でサービスとして登録され、自動起動されるようになります。

2009年7月26日日曜日

乗換に便利な iPhone アプリ 乗換案内

先週東京に出張しました。田舎から東京に出て、戸惑うのは電車の乗換。
しかし、今回は iPhone アプリ乗換案内のおかげで戸惑う事もありませんでした。



本当に検索は強力で便利だし、表示される内容もわかりやすかった。これが無料なんだから、 iPhone 持っている人は入れておきましょう。

2009年7月16日木曜日

JSF で クライアントとサーバの IP アドレスを取得

JSF で サーバとアクセスしてきたクライアントの IP アドレスをとる方法でちょっと悩んだので、メモとして残します。
IP アドレスをとることよりも、 ServletRequest をとる方法がわからなかった・・・以下のコードでとることができました。
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

public class JSFGetIpAddress {

   HttpServletRequest servletRequest = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
   private String serverIP = "unknown";    // サーバ IP アドレス
   private String clientIP = "unknown";    // クライアント IP アドレス

   public String getClientIP() {
       clientIP = servletRequest.getRemoteAddr();
       return clientIP;
   }

   public String getServerIP() {
       serverIP = servletRequest.getLocalAddr();
       return serverIP;
   }

}


なお、サーバ側 IP アドレスが 127.0.0.1 で表示される場合(私が CentOS で試した時そうなりました。)、 hosts の設定で 127.0.0.1 の前に割り当てる IP アドレスを記入したらちゃんと返してくれるようになりました。

もっと良い方法がありましたら、コメントで教えてください。

2009年7月14日火曜日

jsp で excel ファイルを簡単に用意するための2行

jsp でエクセルファイルを吐き出したいと言われました。
htmlのtable形式でデータを出力する jsp ページを用意し、余計な css 等を除き、ページの頭の方(DOCTYPE の下ぐらい)に下記の行を追加してやると、ブラウザはエクセルと判断してくれます。
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","attachment;filename=Report.xls");
%>

本当は POI とかを使うのが良いのでしょうが、簡単な形式なら上記方法でもいいかな……

2009年7月10日金曜日

iPhone で Google Calendar

iPhone 3GS を使い始めて2週間経ちました。
それなりに使いこなせ出したので、ぼつぼつメモ代わりに記事を書いていこうと思います。



まずは Google Calendar から。

前の携帯で一番面倒だったのが、スケジュール管理。まあたいして予定もないんだけど、 Google Calendar と携帯のスケジュールの両方に入力していて面倒だった。
iPhone だと直接 Google Calendar に入力できるので、一元管理できていい!iPhone にしようと思ったのも一番の理由はスケジュール管理だったりする。

iPhone で Google Calendar を使うための設定は下記サイトが参考になります。

iPhoneとカレンダーを同期 Google Syncを試す

2009年7月9日木曜日

JSF の自分用メモ

忘れがちなので、メモとして残します。

JAVA のフレームワーク JSF での動作順番についてです。

初期表示では GET のみが作動する。
2回目以降では SET → Action → GET の順に動作する。

多分あってる。

2009年7月1日水曜日

VMWare ESXi でのゲスト OS のコピー

参考サイト:VMware ESXiでゲストOSのクローンを作成する

VMWare ESXi 上で作成したゲスト OS をバックアップし、別の環境に回復する方法です。これができれば、ハードを買い替えても、 VMWare ESXi を設定するだけで、簡単に移行できます。それで良いのかどうかは、状況によりけりですが……

ゲスト OS のバックアップ


VMware Infrastructure Client を起動します。
ホストサーバの Configuration タブを開き、 Storage を選択します。
datastore を右クリックし、メニューの Brouse Datastore... を選択します。
Datastore Browser が立ち上がります。
バックアップしたいゲスト OS のフォルダを選択し、 Download ボタンをクリックします。
ダウンロード先を聞いてくるので、指定しダウンロードを開始します。
ダウンロードは、ゲスト OS に割り当てたディスク容量によって違ってきますが、時間がかかるので気長に待ちましょう。





回復手順

同じように、 VMware Infrastructure Client から、 Datastore Browser を立ち上げます。
Upload Folder... をクリックし、バックアップしたゲスト OS のフォルダを指定します。
ファイルがアップロードされるので、気長に待ちます。
アップロードが終了したら、ゲスト OS の .vmx ファイルをクリックし、 Add this virtual machine to inventory ボタンをクリックします。
VMware Infrastructure Client からゲスト OS を起動します。
起動途中で止まるので、 Summary タブを表示し、メッセージに応答します。 Create を選択し、 OK をクリックすると、起動完了です。







ファイルのダウンロード、アップロードに時間がかかりますが、作業内容は簡単です。
これで、トラブルを想定した運用もできるかな。