src/org/objectweb/cjdbc/controller/virtualdatabase/protocol/ExecWriteRequest.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.virtualdatabase.protocol; 00026 00027 import java.sql.SQLException; 00028 00029 import org.objectweb.cjdbc.common.i18n.Translate; 00030 import org.objectweb.cjdbc.common.sql.AbstractWriteRequest; 00031 import org.objectweb.cjdbc.controller.loadbalancer.AllBackendsFailedException; 00032 import org.objectweb.cjdbc.controller.requestmanager.distributed.DistributedRequestManager; 00033 00040 public class ExecWriteRequest extends DistributedRequest 00041 { 00045 public ExecWriteRequest(AbstractWriteRequest request) 00046 { 00047 super(request); 00048 } 00049 00053 public Object executeRequest(DistributedRequestManager drm) 00054 throws SQLException 00055 { 00056 try 00057 { 00058 drm.scheduleExecWriteRequest((AbstractWriteRequest) request); 00059 int execWriteRequestResult = 0; 00060 try 00061 { 00062 execWriteRequestResult = drm 00063 .loadBalanceExecWriteRequest((AbstractWriteRequest) request); 00064 } 00065 catch (AllBackendsFailedException e) 00066 { 00067 drm.updateAndNotifyExecWriteRequest((AbstractWriteRequest) request, 00068 false); 00069 drm.addFailedOnAllBackends(request); 00070 if (drm.getLogger().isDebugEnabled()) 00071 drm.getLogger().debug(Translate.get("virtualdatabase.distributed.write.all.backends.locally.failed",request.getSQLShortForm(drm.getVirtualDatabase() 00072 .getSQLShortFormLength()))); 00073 return e; 00074 } 00075 drm.updateAndNotifyExecWriteRequest((AbstractWriteRequest) request, true); 00076 return new Integer(execWriteRequestResult); 00077 } 00078 catch (SQLException e) 00079 { 00080 drm.getLogger().warn(Translate.get("virtualdatabase.distributed.write.sqlexception",e.getMessage()), e); 00081 throw e; 00082 } 00083 catch (RuntimeException re) 00084 { 00085 drm.getLogger().warn(Translate.get("virtualdatabase.distributed.write.exception",re.getMessage()), re); 00086 throw new SQLException(re.getMessage()); 00087 } 00088 } 00089 00090 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:04 2004に生成されました。 doxygen 1.3.8