4

メッセージ駆動型 Bean は非常に集中的な操作を実行するため、プール サイズを制限したいと考えています。そうしないと、サーバーが過負荷になってしまいます。これ(コード)を試しましたが、うまくいきません。プールはまだ32です(経験的にテストされ、時々サーバーを再起動するため、プールされたインスタンスはありません)。

@MessageDriven( mappedName = "jms/TestTopic", activationConfig = {
    @ActivationConfigProperty( propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge" ),
    @ActivationConfigProperty( propertyName = "destinationType", propertyValue = "javax.jms.Topic" ),
    @ActivationConfigProperty( propertyName = "subscriptionDurability", propertyValue = "Durable" ),
    @ActivationConfigProperty( propertyName = "clientId", propertyValue = "Reader" ),
    @ActivationConfigProperty( propertyName = "subscriptionName", propertyValue = "Reader" ),
    @ActivationConfigProperty( propertyName = "endpointPoolMaxSize", propertyValue = "1" ),
    @ActivationConfigProperty( propertyName = "endpointPoolResizeCount", propertyValue = "1" ),
    @ActivationConfigProperty( propertyName = "endpointPoolSteadySize", propertyValue = "0" )
} )
public class Reader implements MessageListener {

JDK 6 の Glassfish v3 で EJB 3 を使用しています。アプリケーションは EE 6 標準を使用しています。

プールを制限する方法を教えてください。助けてくれてありがとう。

4

2 に答える 2

3

sun-ejb-jar.xml を作成し、そこにプール構成を配置することをお勧めします。生の血まみれの詳細については、 http: //www.sun.com/software/appserver/dtds/sun-ejb-jar_3_1-0.dtd のbean-pool を参照してください。詳細については、 http://download.oracle.com/docs/cd/E19798-01/821-1750/6nmnbjlfi/index.htmlのbean-pool を参照してください。

于 2011-02-18T23:01:44.350 に答える