2013-10-23 7 views
8

jbossにdeploy-hasingletonフォルダを6として使用しています。これにより、クラスタノードからのビジネス情報要求を制御するために使用されるシングルトンBeanを作成できました。これらのメソッドは、ノード間の並行性を制御するために同期されています(同じデータは異なるノードに存在することはできません)。jbossにHA-Singletonを移行/作成する7

今私は、JBoss 7への移行だ、とその展開-hasingletonフォルダが消えて以来、私は公式の例を以下してきたこと:

を問題は、これらの例があまりにも些細なことであり、私はビジネスロジックメソッドをどこに置くことができるのか理解できませんでした。 だから私は実装SingletonService、でそのロジックを配置してみました:サービス、MyInterface

そして、私は次のようにgetValueメソッドを変更した:

クライアント側で
@Override 
    public MyInterface getValue() throws IllegalStateException, 
      IllegalArgumentException { 

     return this; 
    } 

@Override 
    public List<Long> myMeth(Long arg1, int arg2) { 
     LOGGER.log("loadGroups() is called()"); 
     ServiceController<?> service = CurrentServiceContainer.getServiceContainer().getService(
       GroupDistributorService.SINGLETON_SERVICE_NAME); 

     if (service != null) { 
      return ((MyInterface) service.getValue()).getMyMethod(arg1, arg2); 
     } else { 
      throw new IllegalStateException("Service '" + GroupDistributorService.SINGLETON_SERVICE_NAME + "' not found!"); 
     } 
    } 

これは正しいアプローチではないかと思います。次に、これはマスターシングルトンサービスを含むノードで動作するように見えます。しかし、他のノードでは、シングルトンサービスを呼び出すときにロックされ、タイムアウトになります。

答えて

1

数ヶ月前にJboss 7でHASingletonを使用する方法についてのブログ記事を投稿しました。 http://www.kubrynski.com/2013/07/using-ha-singleton-in-jboss-7.html 希望します。あなたは(瓶/戦争のプラグインに)あなたのpom.xmlに、このようなconfiguraitonを追加することで、OSGiのシステムに固執すること

<subsystem xmlns="urn:jboss:domain:ee:1.0"> 
    <global-modules> 
    <module name="org.jboss.msc" slot="main"> 
    <module name="org.jboss.as.clustering.singleton" slot="main"> 
    </global-modules> 
</subsystem> 

と:あなたは、クラスタリングモードが有効になっていることを確認してください

<configuration> 
    <archive> 
    <manifestentries> 
     <dependencies> 
     org.jboss.msc,org.jboss.as.server, 
     org.jboss.as.clustering.singleton 
     </dependencies> 
    </manifestentries> 
    </archive> 
</configuration> 
+0

注[リンクすることを(答えは推奨されません)(http://meta.stackoverflow.com/tags/link-only-answers/info)、SOの回答は解決策の検索の終点にする必要があります時間の経過とともに失効する傾向があります)。リンクを参考にして、ここにスタンドアロンの概要を追加することを検討してください。 – kleopatra

+0

これは、モジュール全体ではなく、単一のBeanがha-singletonをロードできるようにしますか? –

関連する問題