クラス org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequest

org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequestに対する継承グラフ

Inheritance graph
[凡例]
org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequestのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

説明

Execute a write request between several controllers.

作者:
Emmanuel Cecchet
バージョン:
1.0

ExecWriteRequest.java39 行で定義されています。

Public メソッド

 ExecWriteRequest (AbstractWriteRequest request)
Object executeRequest (DistributedRequestManager drm) throws SQLException
final AbstractRequest getRequest ()

Static Public メソッド

Message getMessage (Object msg)

Protected 変数

AbstractRequest request


コンストラクタとデストラクタ

org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequest.ExecWriteRequest AbstractWriteRequest  request  ) 
 

引数:
request write request to execute

ExecWriteRequest.java44 行で定義されています。

00045   {
00046     super(request);
00047   }


メソッド

Object org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequest.executeRequest DistributedRequestManager  drm  )  throws SQLException [virtual]
 

参照:
org.objectweb.cjdbc.controller.virtualdatabase.protocol.DistributedRequest.executeRequest(DistributedRequestManager)

org.objectweb.cjdbc.controller.virtualdatabase.protocol.DistributedRequestに実装されています.

ExecWriteRequest.java52 行で定義されています。

参照先 org.objectweb.cjdbc.common.sql.AbstractRequest.getSQLShortForm().

00054   {
00055     try
00056     {
00057       drm.scheduleExecWriteRequest((AbstractWriteRequest) request);
00058       int execWriteRequestResult = 0;
00059       try
00060       {
00061         execWriteRequestResult = drm
00062             .loadBalanceExecWriteRequest((AbstractWriteRequest) request);
00063       }
00064       catch (AllBackendsFailedException e)
00065       {
00066         drm.updateAndNotifyExecWriteRequest((AbstractWriteRequest) request,
00067             false);
00068         drm.addFailedOnAllBackends((AbstractWriteRequest) request);
00069         if (drm.getLogger().isDebugEnabled())
00070           drm.getLogger().debug(
00071               "All backends failed locally for request "
00072                   + request.getSQLShortForm(drm.getVirtualDatabase()
00073                       .getSQLShortFormLength()));
00074         return e;
00075       }
00076       drm.updateAndNotifyExecWriteRequest((AbstractWriteRequest) request, true);
00077       return new Integer(execWriteRequestResult);
00078     }
00079     catch (SQLException e)
00080     {
00081       drm.getLogger().warn(
00082           "SQLException while executing distributed write request", e);
00083       throw e;
00084     }
00085     catch (RuntimeException re)
00086     {
00087       drm.getLogger().warn("Error while executing distributed write request",
00088           re);
00089       throw new SQLException(re.getMessage());
00090     }
00091   }

Message org.objectweb.cjdbc.controller.virtualdatabase.protocol.CJDBCGroupMessage.getMessage Object  msg  )  [static, inherited]
 

Builds a JGroups message from the given object.

Src and dest are filled with null.

引数:
msg a Serializable object
戻り値:
a JGroup message containing the object

CJDBCGroupMessage.java47 行で定義されています。

00048   {
00049     return new Message(null, null, (Serializable) msg);
00050   }

final AbstractRequest org.objectweb.cjdbc.controller.virtualdatabase.protocol.DistributedRequest.getRequest  )  [inherited]
 

Returns the request value.

戻り値:
Returns the request.

DistributedRequest.java58 行で定義されています。

00059   {
00060     return request;
00061   }


変数

AbstractRequest org.objectweb.cjdbc.controller.virtualdatabase.protocol.DistributedRequest.request [protected, inherited]
 

DistributedRequest.java41 行で定義されています。


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0rc6に対してWed May 5 18:03:12 2004に生成されました。 doxygen 1.3.6