この章では、Oracle Streams Advanced Queuing(AQ)に対するJava Message Service(JMS)管理インタフェースの基本操作を説明します。
内容は次のとおりです。
ユーザーがDBMS_AQIN
パッケージ内のメソッドを直接コールすることはありませんが、DBMS_AQIN
に対するEXECUTE
権限が必要です。次の構文を使用して実行します。
GRANT EXECUTE ON DBMS_AQIN to user;
ConnectionFactoryは、次の4つの方法で登録できます。
public static int registerConnectionFactory(java.sql.Connection connection, java.lang.String conn_name, java.lang.String hostname, java.lang.String oracle_sid, int portno, java.lang.String driver, java.lang.String type) throws JMSException
このメソッドは、JDBCコネクション・パラメータを使用し、データベースを介してQueueConnectionFactory
またはTopicConnectionFactoryをLightweight Directory Access Protocol(LDAP)サーバーに登録します。このメソッドは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
connection |
登録に使用されるJDBCコネクション |
conn_name |
登録されるコネクションの名前 |
hostname |
Oracle Streams Advanced Queuingを実行するホストの名前 |
oracle_sid |
Oracleシステム識別子 |
portno |
ポート番号 |
driver |
JDBCドライバの型 |
type |
コネクション・ファクトリのタイプ(QUEUE またはTOPIC ) |
registerConnectionFactory
に渡されるデータベース接続には、AQ_ADMINISTRATOR_ROLE
を付与する必要があります。登録後は、Java Naming and Directory Interface(JNDI)を使用してコネクション・ファクトリを検索できます。
public static int registerConnectionFactory(java.sql.Connection connection, java.lang.String conn_name, java.lang.String jdbc_url, java.util.Properties info, java.lang.String type) throws JMSException
このメソッドは、JDBC URLを使用し、データベースを介してQueueConnectionFactory
またはTopicConnectionFactoryをLDAPに登録します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
connection |
登録に使用されるJDBCコネクション |
conn_name |
登録されるコネクションの名前 |
jdbc_url |
接続先のURL |
info |
プロパティの情報 |
portno |
ポート番号 |
type |
コネクション・ファクトリのタイプ(QUEUE またはTOPIC ) |
registerConnectionFactory
に渡されるデータベース接続には、AQ_ADMINISTRATOR_ROLE
を付与する必要があります。登録後、JNDIを使用してコネクション・ファクトリを検索できます。
public static int registerConnectionFactory(java.util.Hashtable env, java.lang.String conn_name, java.lang.String hostname, java.lang.String oracle_sid, int portno, java.lang.String driver, java.lang.String type) throws JMSException
このメソッドは、JDBCコネクション・パラメータを使用し、LDAPを介してQueueConnectionFactory
またはTopicConnectionFactoryをLDAPに登録します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
env |
LDAPコネクションの環境 |
conn_name |
登録されるコネクションの名前 |
hostname |
Oracle Streams Advanced Queuingを実行するホストの名前 |
oracle_sid |
Oracleシステム識別子 |
portno |
ポート番号 |
driver |
JDBCドライバの型 |
type |
コネクション・ファクトリのタイプ(QUEUE またはTOPIC ) |
registerConnectionFactory()
に渡されるハッシュ表に、LDAPサーバーと使用可能なコネクションを確立するための情報が含まれている必要があります。さらに、このコネクションには、LDAPサーバー内のコネクション・ファクトリのエントリに対する書込み権限が必要です(LDAPユーザーがデータベースそのものであるか、またはLDAPユーザーにGLOBAL_AQ_USER_ROLE
が付与されている必要があります)。登録後、JNDIを使用してコネクション・ファクトリを検索します。
例12-3 LDAPを介した登録: JDBCコネクション・パラメータの使用
Hashtable env = new Hashtable(5, 0.75f); /* the following statements set in hashtable env: * service provider package * the URL of the ldap server * the distinguished name of the database server * the authentication method (simple) * the LDAP username * the LDAP user password */ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://sun-456:389"); env.put("searchbase", "cn=db1,cn=Oraclecontext,cn=acme,cn=com"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=db1aqadmin,cn=acme,cn=com"); env.put(Context.SECURITY_CREDENTIALS, "welcome"); AQjmsFactory.registerConnectionFactory(env, "queue_conn1", "sun-123", "db1", 1521, "thin", "queue");
public static int registerConnectionFactory(java.util.Hashtable env, java.lang.String conn_name, java.lang.String jdbc_url, java.util.Properties info, java.lang.String type) throws JMSException
このメソッドは、JDBCコネクション・パラメータを使用し、LDAPを介してQueueConnectionFactory
またはTopicConnectionFactoryをLDAPに登録します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
env |
LDAPコネクションの環境 |
conn_name |
登録されるコネクションの名前 |
jdbc_url |
接続先のURL |
info | プロパティの情報 |
type |
コネクション・ファクトリのタイプ(QUEUE またはTOPIC ) |
registerConnectionFactory()
に渡されるハッシュ表に、LDAPサーバーと使用可能なコネクションを確立するための情報が含まれている必要があります。さらに、このコネクションには、LDAPサーバー内のコネクション・ファクトリのエントリに対する書込み権限が必要です(LDAPユーザーがデータベースそのものであるか、またはLDAPユーザーにGLOBAL_AQ_USER_ROLE
が付与されている必要があります)。登録後、JNDIを使用してコネクション・ファクトリを検索します。
例12-4 LDAPを介した登録: JDBC URLの使用
String url; Hashtable env = new Hashtable(5, 0.75f); /* the following statements set in hashtable env: * service provider package * the URL of the ldap server * the distinguished name of the database server * the authentication method (simple) * the LDAP username * the LDAP user password */ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://sun-456:389"); env.put("searchbase", "cn=db1,cn=Oraclecontext,cn=acme,cn=com"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=db1aqadmin,cn=acme,cn=com"); env.put(Context.SECURITY_CREDENTIALS, "welcome"); url = "jdbc:oracle:thin:@sun-123:1521:db1"; AQjmsFactory.registerConnectionFactory(env, "topic_conn1", url, null, "topic");
LDAPのキュー/トピックConnectionFactory
を登録解除するには、2つの方法があります。
public static int unregisterConnectionFactory(java.sql.Connection connection, java.lang.String conn_name) throws JMSException
このメソッドは、LDAP内のQueueConnectionFactory
またはTopicConnectionFactory
の登録を解除します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
connection |
登録に使用されるJDBCコネクション |
conn_name |
登録されるコネクションの名前 |
registerConnectionFactory()
に渡されるデータベース接続には、AQ_ADMINISTRATOR_ROLE
を付与する必要があります。
public static int unregisterConnectionFactory(java.util.Hashtable env, java.lang.String conn_name) throws JMSException
このメソッドは、LDAP内のQueueConnectionFactory
またはTopicConnectionFactoryの登録を解除します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
env |
LDAPコネクションの環境 |
conn_name |
登録されるコネクションの名前 |
unregisterConnectionFactory()
に渡されるハッシュ表に、LDAPサーバーと使用可能なコネクションを確立するための情報が含まれている必要があります。さらに、このコネクションには、LDAPサーバー内のコネクション・ファクトリのエントリに対する書込み権限が必要です(LDAPユーザーがデータベースそのものであるか、またはLDAPユーザーにGLOBAL_AQ_USER_ROLE
が付与されている必要があります)。
例12-6 LDAPを介した登録解除
Hashtable env = new Hashtable(5, 0.75f); /* the following statements set in hashtable env: * service provider package * the distinguished name of the database server * the authentication method (simple) * the LDAP username * the LDAP user password */ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://sun-456:389"); env.put("searchbase", "cn=db1,cn=Oraclecontext,cn=acme,cn=com"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=db1aqadmin,cn=acme,cn=com"); env.put(Context.SECURITY_CREDENTIALS, "welcome"); url = "jdbc:oracle:thin:@sun-123:1521:db1"; AQjmsFactory.unregisterConnectionFactory(env, "queue_conn1");
この項の内容は次のとおりです。
public static javax.jms.QueueConnectionFactory getQueueConnectionFactory( java.lang.String jdbc_url, java.util.Properties info) throws JMSException
このメソッドは、JDBC URLを使用してQueueConnectionFactory
を取得します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
jdbc_url |
接続先のURL |
info | プロパティの情報 |
public static javax.jms.QueueConnectionFactory getQueueConnectionFactory( java.lang.String hostname, java.lang.String oracle_sid, int portno, java.lang.String driver) throws JMSException
このメソッドは、JDBC接続パラメータを使用してQueueConnectionFactory
を取得します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
hostname |
Oracle Streams Advanced Queuingを実行するホストの名前 |
oracle_sid |
Oracleシステム識別子 |
portno |
ポート番号 |
driver |
JDBCドライバの型 |
public static javax.jms.QueueConnectionFactory getQueueConnectionFactory( java.lang.String jdbc_url, java.util.Properties info) throws JMSException
このメソッドは、JDBC URLを使用してTopicConnectionFactory
を取得します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
jdbc_url |
接続先のURL |
info | プロパティの情報 |
public static javax.jms.TopicConnectionFactory getTopicConnectionFactory( java.lang.String hostname, java.lang.String oracle_sid, int portno, java.lang.String driver) throws JMSException
このメソッドは、JDBC接続パラメータを使用してTopicConnectionFactory
を取得します。これは静的であり、次のパラメータを取ります。
パラメータ | 説明 |
---|---|
hostname |
Oracle Streams Advanced Queuingを実行するホストの名前 |
oracle_sid |
Oracleシステム識別子 |
portno |
ポート番号 |
driver |
JDBCドライバの型 |
このメソッドは、LDAPからQueueConnectionFactory
またはTopicConnectionFactory
を取得します。
例12-11 LDAP内のQueueConnectionFactoryまたはTopicConnectionFactoryの取得
Hashtable env = new Hashtable(5, 0.75f); DirContext ctx; queueConnectionFactory qc_fact; /* the following statements set in hashtable env: * service provider package * the URL of the ldap server * the distinguished name of the database server * the authentication method (simple) * the LDAP username * the LDAP user password */ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://sun-456:389"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=db1aquser1,cn=acme,cn=com"); env.put(Context.SECURITY_CREDENTIALS, "welcome"); ctx = new InitialDirContext(env); ctx = (DirContext)ctx.lookup("cn=OracleDBConnections,cn=db1,cn=Oraclecontext,cn=acme,cn=com"); qc_fact = (queueConnectionFactory)ctx.lookup("cn=queue_conn1");
このメソッドは、LDAPからキューまたはトピックを取得します。
例12-12 LDAP内のキューまたはトピックの取得
Hashtable env = new Hashtable(5, 0.75f); DirContext ctx; topic topic_1; /* the following statements set in hashtable env: * service provider package * the URL of the ldap server * the distinguished name of the database server * the authentication method (simple) * the LDAP username * the LDAP user password */ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://sun-456:389"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, "cn=db1aquser1,cn=acme,cn=com"); env.put(Context.SECURITY_CREDENTIALS, "welcome"); ctx = new InitialDirContext(env); ctx = (DirContext)ctx.lookup("cn=OracleDBQueues,cn=db1,cn=Oraclecontext,cn=acme,cn=com"); topic_1 = (topic)ctx.lookup("cn=topic_1");
public oracle.AQ.AQQueueTable createQueueTable( java.lang.String owner, java.lang.String name, oracle.AQ.AQQueueTableProperty property) throws JMSException
このメソッドはキュー表を作成します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
owner |
キュー表の所有者(スキーマ) |
name | キュー表名 |
property | キュー表のプロパティ |
キューを保持するためにキュー表を使用する場合、キュー表はマルチコンシューマに対して使用可能にすることはできません(デフォルト)。トピックを保持するためにキュー表を使用する場合、キュー表はマルチコンシューマに対して使用可能にする必要があります。
CLOB、BLOBおよびBFILEの各オブジェクトは、Oracle Streams Advanced Queuingオブジェクト型ロードに対して有効な属性です。ただし、Oracle8i以降は、CLOBおよびBLOBのみがOracle Streams Advanced Queuingを使用して伝播できます。
public oracle.AQ.AQQueueTable getQueueTable(java.lang.String owner, java.lang.String name) throws JMSException
このメソッドは、キュー表を取得します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
owner |
キュー表の所有者(スキーマ) |
name | キュー表名 |
コネクションをオープンしたコール側がキュー表の所有者ではない場合、コール側にはキュー表内のキュー/トピックに対するOracle Streams Advanced Queuingエンキュー/デキュー権限が必要です。この権限がない場合、キュー表は取得できません。
この項の内容は次のとおりです。
public javax.jms.Queue createQueue( oracle.AQ.AQQueueTable q_table, java.lang.String queue_name, oracle.jms.AQjmsDestinationProperty dest_property) throws JMSException
このメソッドは、指定したキュー表にキューを作成します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
q_table |
キューが作成されるキュー表。キュー表はシングル・コンシューマ・キュー表である必要があります。 |
queue_name |
作成されるキューの名前。 |
dest_property |
キューのプロパティ。 |
このメソッドは、OJMSに固有です。このメソッドでは標準のJava javax.jms.Session
オブジェクトは使用できません。かわりに、標準の型をOJMS具象クラスoracle.jms.AQjmsSession
にキャストする必要があります。
public javax.jms.Topic createTopic( oracle.AQ.AQQueueTable q_table, java.lang.String topic_name, oracle.jms.AQjmsDestinationProperty dest_property) throws JMSException
このメソッドは、パブリッシュ・サブスクライブ・モデルにトピックを作成します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
q_table |
キューが作成されるキュー表。キュー表はマルチ・コンシューマ・キュー表である必要があります。 |
queue_name |
作成されるキューの名前。 |
dest_property |
キューのプロパティ。 |
このメソッドは、OJMSに固有です。このメソッドでは標準のJava javax.jms.Session
オブジェクトは使用できません。かわりに、標準の型をOJMS具象クラスoracle.jms.AQjmsSession
にキャストする必要があります。
例12-16 パブリッシュ・サブスクライブ・トピックの作成
TopicSession t_sess; AQQueueTable q_table; AqjmsDestinationProperty dest_prop; Topic topic; topic = ((AQjmsSessa)t_sess).createTopic(q_table, "jms_t1", dest_prop);
例12-17では、在庫不足のために受注を満たせない場合は、注文を処理しているトランザクションが終了されます。bookedorders
トピックは、max_retries
= 4、retry_delay
= 12時間で設定されています。したがって、注文が2日で満たされない場合は、例外キューに移動されます。
例12-17 メッセージの最大試行回数と最大遅延の指定
public BolOrder process_booked_order(TopicSession jms_session) { Topic topic; TopicSubscriber tsubs; ObjectMessage obj_message; BolCustomer customer; BolOrder booked_order = null; String country; int i = 0; try { /* get a handle to the OE_bookedorders_topic */ topic = ((AQjmsSession)jms_session).getTopic("WS", "WS_bookedorders_topic"); /* Create local subscriber - to track messages for Western Region */ tsubs = jms_session.createDurableSubscriber(topic, "SUBS1", "Region = 'Western' ", false); /* wait for a message to show up in the topic */ obj_message = (ObjectMessage)tsubs.receive(10); booked_order = (BolOrder)obj_message.getObject(); customer = booked_order.getCustomer(); country = customer.getCountry(); if (country == "US") { jms_session.commit(); } else { jms_session.rollback(); booked_order = null; } }catch (JMSException ex) { System.out.println("Exception " + ex) ;} return booked_order; }
この項の内容は次のとおりです。
public void grantSystemPrivilege(java.lang.String privilege, java.lang.String grantee, boolean admin_option) throws JMSException
このメソッドは、ユーザーまたはロールにOracle Streams Advanced Queuingシステム権限を付与します。
パラメータ | 説明 |
---|---|
privilege |
ENQUEUE_ANY 、DEQUEUE_ANY またはMANAGE_ANY |
grantee |
権限受領者(ユーザー、ロールまたはPUBLIC ) |
admin_option |
TRUEに設定すると、権限受領者はこのプロシージャを使用して他のユーザーまたはロールにシステム権限を付与できます。 |
最初は、SYS
およびSYSTEM
のみがこのプロシージャを正常に使用できます。ENQUEUE_ANY
権限を付与されたユーザーは、データベース内の任意のキューにメッセージをエンキューできます。DEQUEUE_ANY
権限を付与されたユーザーは、データベース内の任意のキューからメッセージをデキューできます。MANAGE_ANY
権限を付与されたユーザーは、データベースのすべてのスキーマに対してDBMS_AQADM
コールを実行できます。
public void revokeSystemPrivilege(java.lang.String privilege, java.lang.String grantee) throws JMSException
このメソッドは、ユーザーまたはロールからOracle Streams Advanced Queuingシステム権限を取り消します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
privilege |
ENQUEUE_ANY 、DEQUEUE_ANY またはMANAGE_ANY |
grantee |
権限受領者(ユーザー、ロールまたはPUBLIC ) |
ENQUEUE_ANY
権限を付与されたユーザーは、データベース内の任意のキューにメッセージをエンキューできます。DEQUEUE_ANY
権限を付与されたユーザーは、データベース内の任意のキューからメッセージをデキューできます。MANAGE_ANY
権限を付与されたユーザーは、データベースのすべてのスキーマに対してDBMS_AQADM
コールを実行できます。
public void grantTopicPrivilege(javax.jms.Session session, java.lang.String privilege, java.lang.String grantee, boolean grant_option) throws JMSException
このメソッドは、パブリッシュ・サブスクライブ・モデルでトピック権限を付与します。初期設定では、キュー表の所有者のみがこのプロシージャを使用してそのトピックの権限を付与できます。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
privilege |
ENQUEUE 、DEQUEUE またはALL (ALL は両方を意味します。) |
grantee |
権限受領者(ユーザー、ロールまたはPUBLIC ) |
grant_option |
TRUEに設定すると、権限受領者はこのプロシージャを使用して他のユーザーまたはロールにシステム権限を付与できます。 |
public void revokeTopicPrivilege(javax.jms.Session session, java.lang.String privilege, java.lang.String grantee) throws JMSException
このメソッドは、パブリッシュ・サブスクライブ・モデルでトピック権限を取り消します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
privilege |
ENQUEUE 、DEQUEUE またはALL (ALL は両方を意味します。) |
grantee |
権限が取り消される権限受領者(ユーザー、ロールまたはPUBLIC ) |
public void grantQueuePrivilege(javax.jms.Session session, java.lang.String privilege, java.lang.String grantee, boolean grant_option) throws JMSException
このメソッドは、Point-to-Pointモデルでキュー権限を付与します。初期設定では、キュー表の所有者のみがこのプロシージャを使用してそのキューの権限を付与できます。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
privilege |
ENQUEUE 、DEQUEUE またはALL (ALL は両方を意味します。) |
grantee |
権限受領者(ユーザー、ロールまたはPUBLIC ) |
grant_option |
TRUEに設定すると、権限受領者はこのプロシージャを使用して他のユーザーまたはロールにシステム権限を付与できます。 |
public void revokeQueuePrivilege(javax.jms.Session session, java.lang.String privilege, java.lang.String grantee) throws JMSException
このメソッドは、Point-to-Pointモデルでキュー権限を取り消します。初期設定では、キュー表の所有者のみがこのプロシージャを使用してそのキューの権限を付与できます。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
privilege |
ENQUEUE 、DEQUEUE またはALL (ALL は両方を意味します。) |
grantee |
権限が取り消される権限受領者(ユーザー、ロールまたはPUBLIC ) |
権限の取消しを行うユーザーは、取消し対象となる権限の付与者である必要があります。また、GRANT
オプションによって伝播された権限は、伝播させた付与者の権限が取り消されたときに取り消されます。
この項の内容は次のとおりです。
public void start(javax.jms.Session session, boolean enqueue, boolean dequeue) throws JMSException
このメソッドは、宛先を開始します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
enqueue |
TRUE に設定すると、エンキューが使用可能になります。 |
デキュー | TRUE に設定すると、デキューが使用可能になります。 |
public void stop(javax.jms.Session session, boolean enqueue, boolean dequeue, boolean wait) throws JMSException
このメソッドは、宛先を停止します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
enqueue |
TRUE に設定すると、エンキューが使用不可になります。 |
デキュー | TRUE に設定すると、デキューが使用不可になります。 |
wait |
TRUEに設定すると、キュー/トピックの保留トランザクションは、宛先が停止する前に完了できます。 |
public void alter(javax.jms.Session session, oracle.jms.AQjmsDestinationProperty dest_property) throws JMSException
このメソッドは、宛先を変更します。次のプロパティがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
dest_property | キューまたはトピックの新規プロパティ |
この項の内容は次のとおりです。
public void schedulePropagation(javax.jms.Session session, java.lang.String destination, java.util.Date start_time, java.lang.Double duration, java.lang.String next_time, java.lang.Double latency) throws JMSException
このメソッドは、伝播をスケジュールします。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
destination |
伝播がスケジュールされているリモート・データベースのデータベース・リンク。文字列NULLは、伝播がトピックのデータベース内のすべてのサブスクライバに対してスケジュールされていることを示します。 |
start_time |
伝播開始時刻。 |
duration |
伝播継続時間。 |
next_time |
次回の伝播開始時刻。 |
latency |
許容可能な待機時間(秒単位)。待機時間は、メッセージがエンキューされた時間と伝播された時間の差異です。 |
メッセージ受信者が、同一または異なるキュー内の同じ宛先に複数存在する場合、メッセージはすべての受信者に同時に伝播されます。
public void enablePropagationSchedule(javax.jms.Session session, java.lang.String destination) throws JMSException
このメソッドは、伝播スケジュールを有効化します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
destination |
宛先データベースのデータベース・リンク。NULL文字列は、ローカル・データベースに伝播されることを意味します。 |
public void alterPropagationSchedule(javax.jms.Session session, java.lang.String destination, java.lang.Double duration, java.lang.String next_time, java.lang.Double latency) throws JMSException
このメソッドは、伝播スケジュールを変更します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
destination |
伝播がスケジュールされているリモート・データベースのデータベース・リンク。文字列NULLは、伝播がトピックのデータベース内のすべてのサブスクライバに対してスケジュールされていることを示します。 |
duration |
伝播継続時間。 |
next_time |
次回の伝播開始時刻。 |
latency |
許容可能な待機時間(秒単位)。待機時間は、メッセージがエンキューされた時間と伝播された時間の差異です。 |
public void disablePropagationSchedule(javax.jms.Session session, java.lang.String destination) throws JMSException
このメソッドは、伝播スケジュールを無効化します。次のパラメータがあります。
パラメータ | 説明 |
---|---|
session |
JMSセッション |
destination |
宛先データベースのデータベース・リンク。NULL文字列は、ローカル・データベースに伝播されることを意味します。 |