火曜日 6 16, 2009

GF v3 Community Localization Status - Norwegian, Turkish, and Russian in good pace

Last time I reported about the program, it was about Norwegian locale being added. Today, we have even more contributions in GlassFish localization. 2 additional, Turkish and Russian are in pretty good pace. Following is a translation status snapshot displayed in CTI.

v3_EA_CTI_061609

L10n zip bundle is built regulary and is available here. Please refer to install instruction page and give it a try.

The program will end June 30th. Be sure to check updated prizes information in our program page. I think prizes are nice so if you are interested in localization, try to contribute in next 2 weeks!

金曜日 5 29, 2009

FishPod

I somehow came up with the idea FishPod, and created one.

IMG_0075

It is larger than usual music players...

IMG_0082

but promises you a comfortable sleep :-)

IMG_0085

月曜日 5 18, 2009

GlassFish v3 being localized into Norwegian Bokmål

It was only about 10 days ago when we announced v3 EA Localization Program. Since then, we've been working with several willing contributors and today, I'm glad that I can show you ongoing nb_NO localization for admin console. Thanks Henrik and Thomas for such a quick and great work!

commonTask_no_400

Build location, install instructions, and other related information are pointed in our program page. Currently, in addition to 7 included in previous Prelude ML, Norwegian Bokmål and Czech are being added. We are hoping too see the number of these additional languages to grow so if you are interested, please contact g11n AT glassfish.dev.java.net or myself through blog comments. This GlassFish and many other translation projects are happening at CTI. So in case you are interested in localization but not much in GlassFish, you can consider others. I will paste GlassFish project status, though :-)

CTI_0518

金曜日 5 08, 2009

GlassFish v3 コミュニティ L10n プログラム

ご無沙汰しています、こんばんは。

表題のプログラムが始まりましたので紹介させて下さい。

GlassFish v3 EA Community Localization Program

詳細は上記ページを参照してほしいのですが、インストール方法のページに書いてあるように l10n バンドルを使えば、開発中の v3、UI のかなりの部分を日本語化して利用することができます。(下のような感じ。)

commonTask_ja

Prelude の時の翻訳を再利用しているのですが、現時点で大体 90% 程度が翻訳されています。ご興味ある方は、ぜひ使ってみて下さい。また、使ってみて何かありましたら、ご連絡下さい。

PS: あと、残りの 10 % 弱を翻訳してもよいよ!というような方、もしいらっしゃいましたら、そちらもぜひご連絡下さい。

v3 EA Community L10n Program

koinobori

As Ming announced,GlassFish v3 EA Community Localization Program is open. Full details are on program page.

The program is providing l10n zip bundle which includes translation for asadmin and admingui. Just unzipping the bundle over your existing v3 will localize v3. At this moment translation is based on v3 Prelude so you still see some English left but quite good ratio (around 90%) was leveraged from previous localizations.

Please try it and feedback any comments to g11n AT glassfish.dev.java.net. Also, we recommend l10n zip users to subscribe to this mailing list as we will provide related information (new build availability, etc) there.

In the program, we are also looking for people interested in:

  • Translate untranslated messages in existing 7 locales. (Details)
  • Start translating additional languages. (Details on the same above page.)
  • Test and report l10n (and other) bugs. (Details)

Active contributors will be given prizes, but we are still working on details. So stay tuned for our update!

PS: I would love to have GlassFish KOINOBORI for my son... Anybody with skills to create it?

commonTask_de
commonTask_es
commonTask_fr
commonTask_ja
commonTask_ko
commonTask_zh_CN
commonTask_zh_TW

木曜日 3 26, 2009

GlassFish Tools Bundle for Eclipse リリース候補

gf_eclipse_bundle_splash

こちらから現在 0.9.9 バージョンがダウンロード可能です。この GlassFish の Eclipse ツールバンドルには下記が含まれます。

  • GlassFish v2.1
  • GlassFish v3 Prelude
  • Eclipse 3.4.1 (EE)
  • GlassFish Eclipse Plugin
  • Java EE 5 javadoc

OSX 版で試したのですが、最初、/Applications/GlassFish-Tools-Bundle-For-Eclipse-0.9.0.app はいいとして、GlassFish はどこ?と思ってしまうかも知れません。NetBeans とは少し違う感じで、下記のようになっています。

  • /Applications/GlassFish-Tools-Bundle-For-Eclipse-0.9.0.app/Contents/MacOS/glassfishv2.1/
  • /Applications/GlassFish-Tools-Bundle-For-Eclipse-0.9.0.app/Contents/MacOS/glassfishv3-prelude/

下の様に、2 つのバージョンの GlassFish が最初から登録されていますし、Java EE 5 の javadoc も入っているのでコード補完などもインストールしただけの状態で機能します。楽ですねー。

gf_eclipse_bundle_server_runtime

Ecilpse ユーザは、GlassFish プラグインを使えばよいと言えばそれまでですが、至れり尽くせりを目指すこのツールバンドルもぜひ。ちなみに Kana さんがこの Eclipse バンドルのコミュニティベータプログラムに参加してくれています。使ってみておかしな点、疑問などありましたら、日本語メーリングリスト ( discuss_ja AT glassfish.dev.java.net ) まで。

金曜日 3 13, 2009

SailFin の管理ガイドと高可用性管理ガイド

日本語のマニュアルが追加されました。2 月末に出たものと合わせると結構日本語マニュアル増えました。

製品のダウンロードはこちらから。Multi-language を選択すると UI に日本語翻訳が入ったものを使うことができます。以前も書いた気がしますが、「SIP some Java!」というのはお気に入り。

SIP some Java!

GlassFish Performance Advisor 的なもの、自作しよう、その 2

前回に引き続き、E メールを送信する MBean を作成し、管理ルールを設定してみます。

まずは MBean インタフェース。メール送信に必要な情報を属性として持たせます。外部に設定ファイルなどを置くことを最初考えましたが、MBean の属性とした方がお手軽です。

package poormansem.action;

/\*\*
 \*
 \* @author ogino
 \*/
public interface AlertEmailMBean {
    public String getHost();
    public void setHost(String host);
    public String getUser();
    public void setUser(String user);
    public String getSender();
    public void setSender(String sender);
    public String getReceiver();
    public void setReceiver(String receiver);
}

そして、その実装クラス。上の MBean インタフェースと共に、NotificationListener を実装します。

package poormansem.action;

import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.management.Notification;
import javax.management.NotificationListener;
import javax.management.monitor.MonitorNotification;

/\*\*
 \*
 \* @author ogino
 \*/
public class AlertEmail implements NotificationListener, AlertEmailMBean {

	Logger logger;
	String host;
	String user;
	String sender;
	String receiver;

	public AlertEmail() {
		logger = Logger.getLogger(AlertEmail.class.getName());
	}

	public void handleNotification(Notification notification, Object handback) {
		String observedAttribute = ((MonitorNotification) notification).getObservedAttribute();
		String notificationMessage;
		if (notification.getType().equals(MonitorNotification.THRESHOLD_HIGH_VALUE_EXCEEDED)) {
			notificationMessage = observedAttribute + " exceeded high threshold.";
		} else {
			notificationMessage = observedAttribute + " exceeded low threshold.";
		}
		logger.log(Level.INFO, notificationMessage);

		if (host == null || user == null || sender == null || receiver == null) {
			logger.log(Level.WARNING, "Cannot send email as AlertEmail MBean properties not set.");
		} else {
			//Construct mail message..
			Properties props = System.getProperties();
			props.put("mail.host", host);
			props.put("mail.user", user);
			props.put("mail.from", sender);
			Session session = Session.getDefaultInstance(props);

			try {
				MimeMessage msg = new MimeMessage(session);
				msg.setSubject("GF Self Management Alert");
				msg.setRecipients(Message.RecipientType.TO, receiver);
				msg.setText(notificationMessage);
				Transport.send(msg);
				logger.log(Level.INFO, "Self Management alert email sent...");
			} catch (MessagingException mex) {
				logger.log(Level.SEVERE, null, mex);
			}
		}
	}

	public String getHost() {
		return host;
	}

	public void setHost(String host) {
		this.host = host;
	}

	public String getReceiver() {
		return receiver;
	}

	public void setReceiver(String receiver) {
		this.receiver = receiver;
	}

	public String getSender() {
		return sender;
	}

	public void setSender(String sender) {
		this.sender = sender;
	}

	public String getUser() {
		return user;
	}

	public void setUser(String user) {
		this.user = user;
	}
}

前回と同様これを適当な jar ファイルにパッケージし、GlassFish にカスタム MBean として配備します。途中、属性 host, user, sender, reciever を設定します。今回はそれぞれ、localhost, root, 自分のメールアドレス、自分のメールアドレス、としています。

AlertEmail_deploy01
AlertEmail_deploy02

これで、前回作成したものと合わせ、監視とアクションの MBean が共に配備できました。さっそく、管理ルールの設定をします。

「設定」 -> 「管理ルール」 で、全ての規則が有効になっていることを確認、「新規...」をクリックし、以下のように設定します。まずは CPULoad が 1 を超えたらメール通知するルールを設定してみます。

MgmtRule_conf01
MgmtRule_conf02
MgmtRule_conf03

監視対象の MBean としては、前回作成した SystemMonitor の MBean オブジェクト名を入力します。今回の場合、user:impl-class-name=poormansem.mbean.SystemMonitor,name=SystemMonitorMBean,server=server になりますが、これは jconsole で MBeanInfo を確認してもよいですし、GlassFish の管理コンソールでも確認できます。管理コンソールで見ることができる値には ,server=server はありませんので、管理ルールの作成の際には最後に追加して入力して下さい。しきい値の 0 - 1 は、早めにメール送信を確認できるよう適当に指定しています。

サーバを再起動してしばらくすると、下記のメールを受信できました。やったー。

MgmtRule_conf04

2 回にわけて、カスタム MBean を作って管理ルールの作成のしかたを見てきましたがどうでしたか。管理ルールは割と簡単なプログラム (MBean) を書くことで、GlassFish の管理面でとても可能性が広がる機能です。例えば負荷に応じてクラスタ内でインスタンスを増減させたりなど色々なことが想像できるとおもいます。ぜひご活用下さい。

GlassFish Performance Advisor 的なもの、自作しよう

しばらく前にサブスクリプション購入者に提供される GlassFish Enterprise Manager についてご紹介 (その 1234) しましたが、その中でも Performance Advisor その 2 でお見せしたような機能は比較的簡単に自作できるので、サブスクリプション購入していない人は自分で作ってしまいましょう。

何を作ればよいのか。GlassFish に備わっている管理ルールの機能で実現できるので、必要な MBean を作成すればよいことになります。今回は第 1 ステップとして、システム負荷と空きメモリの情報を監視する MBean を作ってみます。Performance Advisor だと、他にメモリーリーク、スループット、GC による停止時間、ログファイルの監視、など色々あるのですが、まずは簡単そうなものからということで。あと、他にアクション (監視データに異常があった際、通知メールを送信、など) の MBean も作りたいですが、それは後日書くことにします。

GlassFish 開発者ガイドの Custom MBeanについての章を参考にしつつ、下記のような MBean インタフェースと実装クラスを書いてみます。

package poormansem.mbean;

/\*\*
 \*
 \* @author ogino
 \*/
public interface SystemMonitorMBean {

	public int getFreeMemoryInPercent();

	public double getCPULoad();
}

そしてその実装クラス。 com.sun.management.OperatingSystemMXBeanを使っているので、Sun の Java での使用だけ想定してます。

package poormansem.mbean;

import com.sun.management.OperatingSystemMXBean;
import java.lang.management.ManagementFactory;

/\*\*
 \*
 \* @author ogino
 \*/
public class SystemMonitor implements SystemMonitorMBean {

	OperatingSystemMXBean osBean;
	long total;

	public SystemMonitor() {
		super();
		osBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
		try {
			total = osBean.getTotalPhysicalMemorySize();
		} catch(Exception ex) {
			throw new RuntimeException(ex);
		}
	}

	public int getFreeMemoryInPercent() {
		return (int) (100 \* osBean.getFreePhysicalMemorySize() / total);
	}

	public double getCPULoad() {
		return osBean.getSystemLoadAverage();
	}
}

これらを適当な jar にパッケージして配備します。管理コンソールを使って次のような感じで。管理コンソール左側ツリーの「カスタム MBean」 -> 「配備」とクリックし以下のように作成したカスタム MBean を配備します。

SystemMonitor_deploy01
SystemMonitor_deploy02

配備できたら動作確認です。jconsole を使って GlassFish のインスタンスに接続します。下のように 2 つの属性を監視できることを確認です。

SystemMonitor_deploy03

アクションと管理ルールの作成はまた次回。

About

ogino

Search

Categories
Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today