2012-03-26 3 views
3

私は、次の行動を生成したいと思います。ブラウザでGWT雰囲気+ RequestFactory

ユーザーは、いくつかの実体が保存されます。エンティティがサーバ側に保存された後、通知を生成し、更新されたエンティティインスタンスを持つAtmosphereを使用して他のすべてのクライアントに通知する必要があります。

問題はです。どのように私は大気インターフェイスを介してPOJOエンティティをプッシュできますか? 最後のものは、ワイヤで転送するSerializable型をサポートしますが、RequestFactoryは別のシリアル化メカニズムを持ちます。

私はこれがRFによって行われ、クライアントに送信されるため、POJOエンティティを自動再生する必要があります。誰でもどのようにそれを行うことができますか?

+0

にJSONをデコードするAutoBeanCodexを使うのか? – Andrejs

+0

多くの情報源のアドバイスのため) –

答えて

7

あなたは、クライアントコードでPOJOの代わりにcreate AutoBeansを使用することができます。 AutoBeansはGWTのJSONとの間で簡単にシリアル化でき、JSONは転送できます。 これは私のウェブソケットベースのGWTアプリでやっていることです。

サーバーでは、クライアントで使用するのと同じAutoBeanファクトリを作成できます。 GWT.createの代わりに、我々はAutoBeanFactorySourceを使用します。クライアント側では

MyDataFactory factory = AutoBeanFactorySource.create(MyDataFactory.class) 
AutoBean<MyData> myDataAutoBean = factory.myData(); 
MyData data = myDataAutoBean.as(); 
data.setValue(1); // call all kinds of setters 

// to converto AutoBean to JSON 
String json = AutoBeanCodex.encode(myDataAutoBean).getPayload(); 

私たちは、あなたがRequestFactoryを使用する必要がないのはなぜAutoBean

+0

サーバー側でautobanを作成する方法をいくつかのコード文字列で記述できますか?それは私が探しているものです! –

+0

私の編集した回答の例コード – Andrejs

+0

ありがとうございました!すべてのプロパティをautobeanにコピーするためのAutoBeanに組み込まれたメカニズムがありますか?このためにリフレクションを使用していますか? –

関連する問題