<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jp.ferv.blog &#187; Java</title>
	<atom:link href="http://ferv.jp/blog/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://ferv.jp/blog</link>
	<description>「ActionScriptは素晴らしい。コンパイルする価値がある。」って偉い人が言ってた。</description>
	<lastBuildDate>Sun, 15 Aug 2010 00:42:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Messaging中にRemoteObjectの処理をする</title>
		<link>http://ferv.jp/blog/2008/08/25/messaging-remoteobject/</link>
		<comments>http://ferv.jp/blog/2008/08/25/messaging-remoteobject/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 13:06:53 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=186</guid>
		<description><![CDATA[Messaging中にRemoteObjectにデータを保存したり、メソッド実行したりする際にRemotingObjectにアクセスする方法を忘れないようにメモ。

パッケージ名：packagename
Messagingをするクラス名：MessagingAdapter（ServiceAdapterのサブクラス）
Messagingのadapter-definition id：hoge-messaging-adapter
RemoteObjectのクラス名：ClassName
RemoteObjectのdestination id：hoge-remote-object

FlexContext.getServletContext()で取得したServletContextから、getAttribute('destination id')でRemoteObjectの参照を取]]></description>
			<content:encoded><![CDATA[<p>Messaging中にRemoteObjectにデータを保存したり、メソッド実行したりする際にRemotingObjectにアクセスする方法を忘れないようにメモ。</p>
<ul>
<li>パッケージ名：packagename</li>
<li>Messagingをするクラス名：MessagingAdapter（ServiceAdapterのサブクラス）</li>
<li>Messagingのadapter-definition id：hoge-messaging-adapter</li>
<li>RemoteObjectのクラス名：ClassName</li>
<li>RemoteObjectのdestination id：hoge-remote-object</li>
</ul>
<p>FlexContext.getServletContext()で取得したServletContextから、getAttribute('destination id')でRemoteObjectの参照を取得する。<br/>
これでメッセージングする度にRemoteObjectのsetDataにmessageのbodyが渡されるようになる。<br />
あとは煮るなり焼くなり・・・</p>

	<ul class="syntax_hilite_header">		<li class="language">JAVA</li>		<li class="filename">ClassName.java</li>	<li class="source"><a href="#java-4_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="java-4_plane"><pre>package packagename;

import packagename.ClassName;

import flex.messaging.config.ConfigMap;
import flex.messaging.messages.Message;
import flex.messaging.FlexContext;
import flex.messaging.MessageBroker;
import flex.messaging.services.MessageService;
import flex.messaging.services.ServiceAdapter;

import java.util.HashMap;

import javax.servlet.ServletContext;

public class MessagingAdapter extends ServiceAdapter {
	private MessageBroker messageBroker;
	private MessageService messageService;
	private ServletContext servletContext;
	private ClassName remoteObject;

	@Override
	public void initialize(String id, ConfigMap properties) {

	}

	@Override
	public void start() {
		// MessagingService取得
		messageBroker = MessageBroker.getMessageBroker(null);
		messageService = (MessageService) messageBroker.getService("hoge-messaging-service");

		// RemoteObject取得
		servletContext = FlexContext.getServletContext();
		remoteObject = (IconManager) servletContext.getAttribute("hoge-remote-object");
	}

	@Override
	public void stop() {

	}

	@Override
	public Object invoke(Message message) {
		// Messaging配信
		messageService.pushMessageToClients(message, true);
		messageService.sendPushMessageFromPeer(message, true);

		// RemoteObjectへmessageのbodyを渡す
		HashMap hmMessage = (HashMap) message.getBody();
		remoteObject.setData(hmMessage);

		return null;
	}

}</pre></div><div class="syntax_hilite">
<div id="java-4">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">package</span> <span class="co2">packagename</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">packagename.ClassName</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.config.ConfigMap</span>;</div></li>
<li class="li2"><div class="de2"><span class="kw1">import</span> <span class="co2">flex.messaging.messages.Message</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.FlexContext</span>;</div></li>
<li class="li2"><div class="de2"><span class="kw1">import</span> <span class="co2">flex.messaging.MessageBroker</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">flex.messaging.services.MessageService</span>;</div></li>
<li class="li2"><div class="de2"><span class="kw1">import</span> <span class="co2">flex.messaging.services.ServiceAdapter</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="kw1">import</span> <span class="co2">java.util.HashMap</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="kw1">import</span> <span class="co2">javax.servlet.ServletContext</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="kw1">public</span> <span class="kw1">class</span> MessagingAdapter <span class="kw1">extends</span> ServiceAdapter <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> MessageBroker messageBroker;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">private</span> MessageService messageService;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">private</span> ServletContext servletContext;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">private</span> ClassName remoteObject;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> initialize<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id, ConfigMap properties<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> start<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// MessagingService取得</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; messageBroker <span class="sy0">=</span> MessageBroker.<span class="me1">getMessageBroker</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageService <span class="sy0">=</span> <span class="br0">&#40;</span>MessageService<span class="br0">&#41;</span> messageBroker.<span class="me1">getService</span><span class="br0">&#40;</span><span class="st0">&quot;hoge-messaging-service&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// RemoteObject取得</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; servletContext <span class="sy0">=</span> FlexContext.<span class="me1">getServletContext</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; remoteObject <span class="sy0">=</span> <span class="br0">&#40;</span>IconManager<span class="br0">&#41;</span> servletContext.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;hoge-remote-object&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; @Override</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> stop<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Object</span></a> invoke<span class="br0">&#40;</span>Message message<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Messaging配信</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; messageService.<span class="me1">pushMessageToClients</span><span class="br0">&#40;</span>message, <span class="kw2">true</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; messageService.<span class="me1">sendPushMessageFromPeer</span><span class="br0">&#40;</span>message, <span class="kw2">true</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// RemoteObjectへmessageのbodyを渡す</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ahashmap+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">HashMap</span></a> hmMessage <span class="sy0">=</span> <span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ahashmap+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">HashMap</span></a><span class="br0">&#41;</span> message.<span class="me1">getBody</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; remoteObject.<span class="me1">setData</span><span class="br0">&#40;</span>hmMessage<span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
<p>ちなみにこの時の*-config.xmlたちはこんな感じ。</p>
	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">messaging-config.xml</li>	<li class="source"><a href="#xml-5_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="xml-5_plane"><pre><?xml version="1.0" encoding="UTF-8"?>

<service id="hoge-messaging-service"
	class="flex.messaging.services.MessageService">

	<adapters>
		<adapter-definition id="actionscript"
			class="flex.messaging.services.messaging.adapters.ActionScriptAdapter"
			default="true" />
		<adapter-definition id="hoge-messaging-service"
			class="packagename.MessagingAdapter" />
	</adapters>

	<!-- ...中略... -->

</service></pre></div><div class="syntax_hilite">
<div id="xml-5">
<div class="xml xml" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;service</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-messaging-service&quot;</span></span></div></li>
<li class="li2"><div class="de2"><span class="sc3">&nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.MessageService&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapter-definition</span> <span class="re0">id</span>=<span class="st0">&quot;actionscript&quot;</span></span></div></li>
<li class="li2"><div class="de2"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.messaging.adapters.ActionScriptAdapter&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">default</span>=<span class="st0">&quot;true&quot;</span> <span class="re2">/&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapter-definition</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-messaging-service&quot;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">class</span>=<span class="st0">&quot;packagename.MessagingAdapter&quot;</span> <span class="re2">/&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc-1">&lt;!-- ...中略... --&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/service<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
</div></div><br />

	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">remoting-config.xml</li>	<li class="source"><a href="#xml-6_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="xml-6_plane"><pre><?xml version="1.0" encoding="UTF-8"?>

<service id="hoge-remoting-service" class="flex.messaging.services.RemotingService">

	<!-- ...中略... -->

	<destination id="hoge-remote-object">
		<properties>
			<source>packagename.ClassName</source>
			<scope>application</scope>
		</properties>
	</destination>

</service></pre></div><div class="syntax_hilite">
<div id="xml-6">
<div class="xml xml" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;service</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-remoting-service&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.RemotingService&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc-1">&lt;!-- ...中略... --&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;destination</span> <span class="re0">id</span>=<span class="st0">&quot;hoge-remote-object&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;source<span class="re2">&gt;</span></span></span>packagename.ClassName<span class="sc3"><span class="re1">&lt;/source<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;scope<span class="re2">&gt;</span></span></span>application<span class="sc3"><span class="re1">&lt;/scope<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/destination<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/service<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
</div></div><br />]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/08/25/messaging-remoteobject/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>識別子なのに識別できなかった件</title>
		<link>http://ferv.jp/blog/2008/08/21/clientid/</link>
		<comments>http://ferv.jp/blog/2008/08/21/clientid/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:43:17 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=185</guid>
		<description><![CDATA[BlazeDSのMessaging APIsのServiceAdapterとAbstractBootstrapServiceのサブクラスを作っていた時のお話。
			JAVA		MessagingAdapter.java [...]]]></description>
			<content:encoded><![CDATA[<p>BlazeDSのMessaging APIsのServiceAdapterとAbstractBootstrapServiceのサブクラスを作っていた時のお話。</p>
	<ul class="syntax_hilite_header">		<li class="language">JAVA</li>		<li class="filename">MessagingAdapter.java</li>	<li class="source"><a href="#java-9_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="java-9_plane"><pre>public class MessagingAdapter extends ServiceAdapter {
	// ...中略...
	@Override
	public Object invoke(Message message) {
		System.out.println(message.getClientId());	// Result 19FF0FC6-1818-5450-D6BE-33FF6297BFD0
	}
}</pre></div><div class="syntax_hilite">
<div id="java-9">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> MessagingAdapter <span class="kw1">extends</span> ServiceAdapter <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="co1">// ...中略...</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; @Override</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Object</span></a> invoke<span class="br0">&#40;</span>Message message<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>message.<span class="me1">getClientId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;&nbsp; <span class="co1">// Result 19FF0FC6-1818-5450-D6BE-33FF6297BFD0</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
	<ul class="syntax_hilite_header">		<li class="language">JAVA</li>		<li class="filename">BootstrapService.java</li>	<li class="source"><a href="#java-10_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="java-10_plane"><pre>public class BootstrapService extends AbstractBootstrapService {
	// ...中略...
	class ClientWatcher implements MessageClientListener {
		public void messageClientCreated(MessageClient msgClient) {
			System.out.println(msgClient.getClientId());	// Result 19FF11B5-B30A-3172-EDD2-0AB30F8A73EA
		}
	}
}</pre></div><div class="syntax_hilite">
<div id="java-10">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> BootstrapService <span class="kw1">extends</span> AbstractBootstrapService <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="co1">// ...中略...</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">class</span> ClientWatcher <span class="kw1">implements</span> MessageClientListener <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> messageClientCreated<span class="br0">&#40;</span>MessageClient msgClient<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span>msgClient.<span class="me1">getClientId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;&nbsp; &nbsp; <span class="co1">// Result 19FF11B5-B30A-3172-EDD2-0AB30F8A73EA</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
<p>この二つで取得できるクライアントIDって同一のクライアントなはずなのに別モノ。<br />
この二つのクラスからRemoteObjectにクライアントID渡してごにょごにょしようとしてたらできなくて、調べていくとこういうことだった。</p>
<p>同じものが取得できると思ったのに。同じものが取得できると思ったのに。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/08/21/clientid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlazeDS - Messaging(Server)</title>
		<link>http://ferv.jp/blog/2008/07/17/blazeds_messaging_server/</link>
		<comments>http://ferv.jp/blog/2008/07/17/blazeds_messaging_server/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 05:52:29 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=121</guid>
		<description><![CDATA[BlazeDSの主要な機能の一つであるMessegingのサーバーサイドの処理について。

	
		services-config.xmlにstreamingの設定を書く。
		
			XML		services-config.xml	Source



	
		
		
	

	
		
	

	



&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#160;
&#60;service id=&#34;message-service&#34; class=&#34;flex.messaging.services.MessageService&#34;&#62;
&#160;
&#160; &#160; &#60;adapters&#62;
&#160; &#160; &#160; &#160; &#60;adapter-definition id=&#34;actionscript&#34; class=&#34;flex.messaging.services.messaging.adapters.ActionScriptAdapter&#34; default=&#34;true&#34; /&#62;
&#160; &#160; &#160; &#160; &#60;!-- &#60;adapter-definition id=&#34;jms&#34; class=&#34;flex.messaging.services.messaging.adapters.JMSAdapter&#34;/&#62; --&#62;
&#160; &#160; &#60;/adapters&#62;
&#160;
&#160; &#160; &#60;default-channels&#62;
&#160; &#160; &#160; &#160; &#60;channel ref=&#34;my-streaming-amf&#34;/&#62;
&#160; &#160; &#60;/default-channels&#62;
&#160;
&#160; &#160; &#60;destination id=&#34;messagingTutorial&#34;/&#62;
&#160;
&#60;/service&#62;


	
	]]></description>
			<content:encoded><![CDATA[<p>BlazeDSの主要な機能の一つであるMessegingのサーバーサイドの処理について。</p>
<ol>
	<li>
		<p>services-config.xmlにstreamingの設定を書く。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/07/ss-0301.jpg" rel="shadowbox[post-121];player=img;"><img height="177" alt="ss_030" src="http://ferv.jp/blog/wp-content/uploads/2008/07/ss-030-thumb1.jpg" width="244" border="0" /></a>
	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">services-config.xml</li>	<li class="source"><a href="#xml-13_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="xml-13_plane"><pre><?xml version="1.0" encoding="UTF-8"?>

<service id="message-service" class="flex.messaging.services.MessageService">

	<adapters>
		<adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
		<!-- <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/> -->
	</adapters>

	<default-channels>
		<channel ref="my-streaming-amf"/>
	</default-channels>

	<destination id="messagingTutorial"/>

</service></pre></div><div class="syntax_hilite">
<div id="xml-13">
<div class="xml xml" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;service</span> <span class="re0">id</span>=<span class="st0">&quot;message-service&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.MessageService&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;adapter-definition</span> <span class="re0">id</span>=<span class="st0">&quot;actionscript&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.services.messaging.adapters.ActionScriptAdapter&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;true&quot;</span> <span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc-1">&lt;!-- &lt;adapter-definition id=&quot;jms&quot; class=&quot;flex.messaging.services.messaging.adapters.JMSAdapter&quot;/&gt; --&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/adapters<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;default-channels<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;channel</span> <span class="re0">ref</span>=<span class="st0">&quot;my-streaming-amf&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/default-channels<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;destination</span> <span class="re0">id</span>=<span class="st0">&quot;messagingTutorial&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/service<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
</div></div><br />
	</li>
	<li>
		<p>messaging-config.xmlにデフォルトチャンネルの設定、サービスのIDを書く。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/07/ss-0311.jpg" rel="shadowbox[post-121];player=img;"><img height="177" alt="ss_031" src="http://ferv.jp/blog/wp-content/uploads/2008/07/ss-031-thumb1.jpg" width="244" border="0" /></a>
	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">messaging-config.xml</li>	<li class="source"><a href="#xml-14_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="xml-14_plane"><pre><channel-definition id="my-streaming-amf" class="mx.messaging.channels.StreamingAMFChannel">
	<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf" class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
	<properties>
		<idle-timeout-minutes>0</idle-timeout-minutes>
		<max-streaming-clients>100</max-streaming-clients>
		<server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis>
		<user-agent-settings>
			<user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="10"/>
			<user-agent match-on="Firefox" kickstart-bytes="2048" max-streaming-connections-per-session="10"/>
			<user-agent match-on="AppleWebKit" kickstart-bytes="2048" max-streaming-connections-per-session="10"/>
		</user-agent-settings>
	</properties>
</channel-definition></pre></div><div class="syntax_hilite">
<div id="xml-14">
<div class="xml xml" style="font-family:monospace;"><ol start="32"><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;channel-definition</span> <span class="re0">id</span>=<span class="st0">&quot;my-streaming-amf&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;mx.messaging.channels.StreamingAMFChannel&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;endpoint</span> <span class="re0">url</span>=<span class="st0">&quot;http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf&quot;</span> <span class="re0">class</span>=<span class="st0">&quot;flex.messaging.endpoints.StreamingAMFEndpoint&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;idle-timeout-minutes<span class="re2">&gt;</span></span></span>0<span class="sc3"><span class="re1">&lt;/idle-timeout-minutes<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;max-streaming-clients<span class="re2">&gt;</span></span></span>100<span class="sc3"><span class="re1">&lt;/max-streaming-clients<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;server-to-client-heartbeat-millis<span class="re2">&gt;</span></span></span>5000<span class="sc3"><span class="re1">&lt;/server-to-client-heartbeat-millis<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;user-agent-settings<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;user-agent</span> <span class="re0">match-on</span>=<span class="st0">&quot;MSIE&quot;</span> <span class="re0">kickstart-bytes</span>=<span class="st0">&quot;2048&quot;</span> <span class="re0">max-streaming-connections-per-session</span>=<span class="st0">&quot;10&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;user-agent</span> <span class="re0">match-on</span>=<span class="st0">&quot;Firefox&quot;</span> <span class="re0">kickstart-bytes</span>=<span class="st0">&quot;2048&quot;</span> <span class="re0">max-streaming-connections-per-session</span>=<span class="st0">&quot;10&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;user-agent</span> <span class="re0">match-on</span>=<span class="st0">&quot;AppleWebKit&quot;</span> <span class="re0">kickstart-bytes</span>=<span class="st0">&quot;2048&quot;</span> <span class="re0">max-streaming-connections-per-session</span>=<span class="st0">&quot;10&quot;</span><span class="re2">/&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/user-agent-settings<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/channel-definition<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
</div></div><br />
	</li>
	<li>
		<p>サーバーを再起動。</p>
	</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/07/17/blazeds_messaging_server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlazeDS - Remotoing(Server)</title>
		<link>http://ferv.jp/blog/2008/07/07/blazeds_remoting_server/</link>
		<comments>http://ferv.jp/blog/2008/07/07/blazeds_remoting_server/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 11:31:08 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=75</guid>
		<description><![CDATA[BlazeDSの主要な機能の一つであるRemotingのサーバーサイドの処理について。

	
		remoting-config.xmlで、これから使うRemotingのサービスを定義する。
		&#60;destinat [...]]]></description>
			<content:encoded><![CDATA[<p>BlazeDSの主要な機能の一つであるRemotingのサーバーサイドの処理について。</p>
<ol>
	<li>
		<p>remoting-config.xmlで、これから使うRemotingのサービスを定義する。
		&lt;destination id="***"&gt;には、クライアントからサーバーサイドJavaのメソッドを呼び出すときのユニークなIDを入力。
		&lt;source&gt;***&lt;/source&gt;には、サーバーサイドJavaのパッケージ名.クラス名を入力。</p>
	<ul class="syntax_hilite_header">		<li class="language">XML</li>		<li class="filename">remoting-config.xml</li>	<li class="source"><a href="#xml-17_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="xml-17_plane"><pre><destination id="remotingTutorial">
	<properties>
		<source>tutorial.RemotingTutorial</source>
		<scope>application</scope>
	</properties>
</destination></pre></div><div class="syntax_hilite">
<div id="xml-17">
<div class="xml xml" style="font-family:monospace;"><ol start="13"><li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;destination</span> <span class="re0">id</span>=<span class="st0">&quot;remotingTutorial&quot;</span><span class="re2">&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;source<span class="re2">&gt;</span></span></span>tutorial.RemotingTutorial<span class="sc3"><span class="re1">&lt;/source<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;scope<span class="re2">&gt;</span></span></span>application<span class="sc3"><span class="re1">&lt;/scope<span class="re2">&gt;</span></span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/properties<span class="re2">&gt;</span></span></span></div></li>
<li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/destination<span class="re2">&gt;</span></span></span></div></li>
</ol></div>
</div></div><br />
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-010.jpg" rel="shadowbox[post-75];player=img;"><img height="177" alt="ss_010" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-010-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>「ファイル &gt; 新規 &gt; プロジェクト」より、「Javaプロジェクト」を作成する。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-011.jpg" rel="shadowbox[post-75];player=img;"><img height="177" alt="ss_011" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-011-thumb.jpg" width="244" border="0" /></a>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-012.jpg" rel="shadowbox[post-75];player=img;"><img height="129" alt="ss_012" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-012-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>「内容 &gt; 外部ソースからプロジェクトを作成」をチェックし、\tutorial\WEB-INF\classesを指定し、「次へ」。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-013.jpg" rel="shadowbox[post-75];player=img;"><img height="180" alt="ss_013" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-013-thumb.jpg" width="244" border="0" /></a>&#160; </li>
	<li>
		<p>「ライブラリー &gt; 外部JARの追加」で、\tutorial\WEB-INF\lib内の全jarファイルを指定し、クラスパスを通す。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-014.jpg" rel="shadowbox[post-75];player=img;"><img height="180" alt="ss_014" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-014-thumb.jpg" width="244" border="0" /></a>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-015.jpg" rel="shadowbox[post-75];player=img;"><img height="144" alt="ss_015" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-015-thumb.jpg" width="244" border="0" /></a>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-016.jpg" rel="shadowbox[post-75];player=img;"><img height="180" alt="ss_016" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-016-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>tutorial-javaを右クリックして、「新規 &gt; パッケージ」をクリック。「名前」に1.で設定したパッケージ名（このチュートリアルでは&quot;tutorial&quot;）を入力して「終了」。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-017.jpg" rel="shadowbox[post-75];player=img;"><img height="177" alt="ss_017" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-017-thumb.jpg" width="244" border="0" /></a>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-018.jpg" rel="shadowbox[post-75];player=img;"><img height="111" alt="ss_018" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-018-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>\tutorial\WEB-INF\srcに1.で設定したクラス名のJavaのソースファイルを作る。（このチュートリアルでは&quot;RemotingTutorial.java）</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-019.jpg" rel="shadowbox[post-75];player=img;"><img height="184" alt="ss_019" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-019-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>6.で作ったクラスファイル（RemotingTutorial.java）を、5.で作ったパッケージ内にリンクする。tutorialを右クリックして、「新規 &gt; ファイル」をクリック。「拡張」をクリック後、6.で作ったクラスファイルを指定し、終了。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-020.jpg" rel="shadowbox[post-75];player=img;"><img height="177" alt="ss_020" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-020-thumb.jpg" width="244" border="0" /></a>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-021.jpg" rel="shadowbox[post-75];player=img;"><img height="176" alt="ss_021" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-021-thumb.jpg" width="244" border="0" /></a>
	</li>
	<li>
		<p>RemotingTutorial.javaを開き、足し算して返すだけの関数を書く。</p>
	<ul class="syntax_hilite_header">		<li class="language">JAVA</li>		<li class="filename">RemotingTutorial.java</li>	<li class="source"><a href="#java-18_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="java-18_plane"><pre>package tutorial;

import java.util.HashMap;

public class RemotingTutorial {

	public RemotingTutorial() {
		System.out.println("RemotingTutorial を初期化します");
	}

	public HashMap<string, Integer> getCalcResult(HashMap<string, Integer> mapSource) {
		HashMap<string, Integer> mapBody = new HashMap<string, Integer>();

		mapBody.put("result", (mapSource.get("param0") + mapSource.get("param1")));

		return mapBody;
	}

}</pre></div><div class="syntax_hilite">
<div id="java-18">
<div class="java java" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">package</span> <span class="co2">tutorial</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">import</span> <span class="co2">java.util.HashMap</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">public</span> <span class="kw1">class</span> RemotingTutorial <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> RemotingTutorial<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">System</span></a>.<span class="me1">out</span>.<span class="me1">println</span><span class="br0">&#40;</span><span class="st0">&quot;RemotingTutorial を初期化します&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">public</span> HashMap<span class="sy0">&lt;</span>string, Integer<span class="sy0">&gt;</span> getCalcResult<span class="br0">&#40;</span>HashMap<span class="sy0">&lt;</span>string, Integer<span class="sy0">&gt;</span> mapSource<span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; HashMap<span class="sy0">&lt;</span>string, Integer<span class="sy0">&gt;</span> mapBody <span class="sy0">=</span> <span class="kw1">new</span> HashMap<span class="sy0">&lt;</span>string, Integer<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; mapBody.<span class="me1">put</span><span class="br0">&#40;</span><span class="st0">&quot;result&quot;</span>, <span class="br0">&#40;</span>mapSource.<span class="me1">get</span><span class="br0">&#40;</span><span class="st0">&quot;param0&quot;</span><span class="br0">&#41;</span> <span class="sy0">+</span> mapSource.<span class="me1">get</span><span class="br0">&#40;</span><span class="st0">&quot;param1&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> mapBody;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-022.jpg" rel="shadowbox[post-75];player=img;"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="177" alt="ss_022" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-022-thumb.jpg" width="244" border="0" /></a>
	</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/07/07/blazeds_remoting_server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlazeDS - 開発準備</title>
		<link>http://ferv.jp/blog/2008/07/06/blazeds_preparation/</link>
		<comments>http://ferv.jp/blog/2008/07/06/blazeds_preparation/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 05:45:04 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=50</guid>
		<description><![CDATA[
	
		開発環境となるEclipse + Flex Builder 3をインストールする。
		
			
				All-In-One Eclipse
			
			
				Flex Builder 3 (Eclip [...]]]></description>
			<content:encoded><![CDATA[<ol>
	<li>
		<p>開発環境となるEclipse + Flex Builder 3をインストールする。</p>
		<ul>
			<li>
				<a title="All-In-One Eclipse" href="http://sourceforge.jp/projects/aioec/">All-In-One Eclipse</a>
			</li>
			<li>
				<a title="Flex Builder 3 (Eclipse Plugin)" href="http://www.adobe.com/jp/products/flex/">Flex Builder 3 (Eclipse Plugin)</a>
			</li>
		</ul>
	</li>
	<li>
		<p>\blazeds\tomcat\webappsで、blazedsディレクトリをコピー。<br />
		中にWEB-INFと、META-INFが入っているのを確認したら、Eclipseへ。</p>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0001.jpg" rel="shadowbox[post-50];player=img;"> <img height="184" alt="ss_000" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-000-thumb1.jpg" width="244" border="0" /></a>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0011.jpg" rel="shadowbox[post-50];player=img;">
			<img height="184" alt="ss_001" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-001-thumb1.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>「File &gt; 新規 &gt; プロジェクト」から、「Flex Builder &gt; Flexプロジェクト」を選択して「次へ」。<br />
		「プロジェクト名」にプロジェクトの名前を入力。（ここでは"tutorial"）<br />
		「プロジェクトの場所」に作業ディレクトリを指定。（ここでは"C:\blazeDS_temp\tutorial"）<br />
		「アプリケーションの種類」で「Web アプリケーション」を選択。<br />
		「サーバーテクノロジ」で「アプリケーションサーバーの種類」を「J2EE」とし、「リモートオブジェクトアクセスサービスを使用」にチェック。</p>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0021.jpg" rel="shadowbox[post-50];player=img;">
			<img height="169" alt="ss_002" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-002-thumb1.jpg" width="244" border="0" />
		</a>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0031.jpg" rel="shadowbox[post-50];player=img;">
			<img height="169" alt="ss_003" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-003-thumb1.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>「サーバーの場所」を2.で作ったディレクトリに指定し、「設定を検証」。<br />
		「結合したFlexアプリケーションの場所」にデバッグ用ディレクトリを指定し、「終了」。</p>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0041.jpg" rel="shadowbox[post-50];player=img;">
			<img height="182" alt="ss_004" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-004-thumb1.jpg" width="244" border="0" />
		</a>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0051.jpg" rel="shadowbox[post-50];player=img;">
			<img height="193" alt="ss_005" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-005-thumb1.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>これでクライアント側の開発環境は整った。</p>
		<a class="img" href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0061.jpg" rel="shadowbox[post-50];player=img;">
			<img height="177" alt="ss_006" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-006-thumb1.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>サーバー設定ファイルをリンクさせておく。srcフォルダを右クリックし、「新規 &gt; ファイル」をクリック。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-007.jpg" rel="shadowbox[post-50];player=img;">
			<img height="177" alt="ss_007" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-007-thumb.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>「拡張 &gt; ファイル・システム内のファイルにリンク」で、C:\blazeDS\tomcat\webapps\tutorial\WEB-INF\flex\messaging-config.xmlを指定する。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-008.jpg" rel="shadowbox[post-50];player=img;">
			<img height="176" alt="ss_008" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-008-thumb.jpg" width="244" border="0" />
		</a>
	</li>
	<li>
		<p>proxy-config.xml,remoting-config.xml,services-config.xmlについても同様にリンクしておく。</p>
		<a href="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-0091.jpg" rel="shadowbox[post-50];player=img;">
			<img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="177" alt="ss_009" src="http://ferv.jp/blog/wp-content/uploads/2008/06/ss-009-thumb1.jpg" width="244" border="0" />
		</a>
	</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/07/06/blazeds_preparation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

