001: /**
002: * C-JDBC: Clustered JDBC.
003: * Copyright (C) 2005 Emic Networks
004: * Science And Control (INRIA).
005: * Contact: c-jdbc@objectweb.org
006: *
007: * This library is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as published by the
009: * Free Software Foundation; either version 2.1 of the License, or any later
010: * version.
011: *
012: * This library is distributed in the hope that it will be useful, but WITHOUT
013: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
014: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
015: * for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public License
018: * along with this library; if not, write to the Free Software Foundation,
019: * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
020: *
021: * Initial developer(s): Emmanuel Cecchet.
022: * Contributor(s): ______________________.
023: */package org.continuent.sequoia.controller.virtualdatabase.protocol;
024:
025: import org.continuent.sequoia.common.xml.DatabasesXmlTags;
026:
027: /**
028: * This class defines message timeouts for all messages exchanged between
029: * controllers. There is a default timeout for all messages but each message can
030: * be assigned a specific timeout.
031: *
032: * @author <a href="mailto:emmanuel.cecchet@emicnetworks.com">Emmanuel Cecchet</a>
033: * @version 1.0
034: */
035: public class MessageTimeouts {
036: /** Default timeout value to be used if value has not been specified */
037: private long defaultTimeout;
038:
039: /** List of messages for which we can set a specific timeout */
040: private static final int DEFAULT_TIMEOUT_VALUE = -1;
041: private long backendStatusTimeout = DEFAULT_TIMEOUT_VALUE;
042: private long backendTransferTimeout = DEFAULT_TIMEOUT_VALUE;
043: private long cacheInvalidateTimeout = DEFAULT_TIMEOUT_VALUE;
044: private long commitTimeout = DEFAULT_TIMEOUT_VALUE;
045: private long controllerNameTimeout = DEFAULT_TIMEOUT_VALUE;
046: private long copyLogEntryTimeout = DEFAULT_TIMEOUT_VALUE;
047: private long disableBackendTimeout = DEFAULT_TIMEOUT_VALUE;
048: private long enableBackendTimeout = DEFAULT_TIMEOUT_VALUE;
049: private long execReadRequestTimeout = DEFAULT_TIMEOUT_VALUE;
050: private long execReadStoredProcedureTimeout = DEFAULT_TIMEOUT_VALUE;
051: private long execWriteRequestTimeout = DEFAULT_TIMEOUT_VALUE;
052: private long execWriteRequestWithKeysTimeout = DEFAULT_TIMEOUT_VALUE;
053: private long execWriteStoredProcedureTimeout = DEFAULT_TIMEOUT_VALUE;
054: private long initiateDumpCopyTimeout = DEFAULT_TIMEOUT_VALUE;
055: private long notifyCompletionTimeout = DEFAULT_TIMEOUT_VALUE;
056: private long releaseSavepointTimeout = DEFAULT_TIMEOUT_VALUE;
057: private long replicateLogEntriesTimeout = DEFAULT_TIMEOUT_VALUE;
058: private long rollbackTimeout = DEFAULT_TIMEOUT_VALUE;
059: private long rollbackToSavepointTimeout = DEFAULT_TIMEOUT_VALUE;
060: private long setCheckpointTimeout = DEFAULT_TIMEOUT_VALUE;
061: private long setSavepointTimeout = DEFAULT_TIMEOUT_VALUE;
062: private long unlogCommitTimeout = DEFAULT_TIMEOUT_VALUE;
063: private long unlogRequestTimeout = DEFAULT_TIMEOUT_VALUE;
064: private long unlogRollbackTimeout = DEFAULT_TIMEOUT_VALUE;
065: private long virtualDatabaseConfigurationTimeout = DEFAULT_TIMEOUT_VALUE;
066:
067: /**
068: * Creates a new <code>MessageTimeouts</code> object
069: *
070: * @param defaultTimeout the default timeout to set in ms
071: */
072: public MessageTimeouts(long defaultTimeout) {
073: this .defaultTimeout = defaultTimeout;
074: }
075:
076: /**
077: * Return the shortest timeout between the 2 given timeouts. A value of 0
078: * means an infinite timeout.
079: *
080: * @param timeout1 the first timeout
081: * @param timeout2 the second timeout
082: * @return the shortest timeout in ms
083: */
084: public static long getMinTimeout(long timeout1, long timeout2) {
085: if (timeout1 == timeout2)
086: return timeout1;
087: if (timeout1 == 0)
088: return timeout2;
089: if (timeout2 == 0)
090: return timeout1;
091: if (timeout1 < timeout2)
092: return timeout1;
093: else
094: return timeout2;
095: }
096:
097: /**
098: * Returns the backendStatusTimeout value.
099: *
100: * @return Returns the backendStatusTimeout.
101: */
102: public long getBackendStatusTimeout() {
103: if (backendStatusTimeout == DEFAULT_TIMEOUT_VALUE)
104: return defaultTimeout;
105: return backendStatusTimeout;
106: }
107:
108: /**
109: * Sets the backendStatusTimeout value.
110: *
111: * @param backendStatusTimeout The backendStatusTimeout to set.
112: */
113: public void setBackendStatusTimeout(long backendStatusTimeout) {
114: this .backendStatusTimeout = backendStatusTimeout;
115: }
116:
117: /**
118: * Returns the backendTransferTimeout value.
119: *
120: * @return Returns the backendTransferTimeout.
121: */
122: public long getBackendTransferTimeout() {
123: if (backendTransferTimeout == DEFAULT_TIMEOUT_VALUE)
124: return defaultTimeout;
125: return backendTransferTimeout;
126: }
127:
128: /**
129: * Sets the backendTransferTimeout value.
130: *
131: * @param backendTransferTimeout The backendTransferTimeout to set.
132: */
133: public void setBackendTransferTimeout(long backendTransferTimeout) {
134: this .backendTransferTimeout = backendTransferTimeout;
135: }
136:
137: /**
138: * Returns the cacheInvalidateTimeout value.
139: *
140: * @return Returns the cacheInvalidateTimeout.
141: */
142: public long getCacheInvalidateTimeout() {
143: if (cacheInvalidateTimeout == DEFAULT_TIMEOUT_VALUE)
144: return defaultTimeout;
145: return cacheInvalidateTimeout;
146: }
147:
148: /**
149: * Sets the cacheInvalidateTimeout value.
150: *
151: * @param cacheInvalidateTimeout The cacheInvalidateTimeout to set.
152: */
153: public void setCacheInvalidateTimeout(long cacheInvalidateTimeout) {
154: this .cacheInvalidateTimeout = cacheInvalidateTimeout;
155: }
156:
157: /**
158: * Returns the commitTimeout value.
159: *
160: * @return Returns the commitTimeout.
161: */
162: public long getCommitTimeout() {
163: if (commitTimeout == DEFAULT_TIMEOUT_VALUE)
164: return defaultTimeout;
165: return commitTimeout;
166: }
167:
168: /**
169: * Sets the commitTimeout value.
170: *
171: * @param commitTimeout The commitTimeout to set.
172: */
173: public void setCommitTimeout(long commitTimeout) {
174: this .commitTimeout = commitTimeout;
175: }
176:
177: /**
178: * Returns the controllerNameTimeout value.
179: *
180: * @return Returns the controllerNameTimeout.
181: */
182: public long getControllerNameTimeout() {
183: if (controllerNameTimeout == DEFAULT_TIMEOUT_VALUE)
184: return defaultTimeout;
185: return controllerNameTimeout;
186: }
187:
188: /**
189: * Sets the controllerNameTimeout value.
190: *
191: * @param controllerNameTimeout The controllerNameTimeout to set.
192: */
193: public void setControllerNameTimeout(long controllerNameTimeout) {
194: this .controllerNameTimeout = controllerNameTimeout;
195: }
196:
197: /**
198: * Returns the copyLogEntryTimeout value.
199: *
200: * @return Returns the copyLogEntryTimeout.
201: */
202: public long getCopyLogEntryTimeout() {
203: if (copyLogEntryTimeout == DEFAULT_TIMEOUT_VALUE)
204: return defaultTimeout;
205: return copyLogEntryTimeout;
206: }
207:
208: /**
209: * Sets the copyLogEntryTimeout value.
210: *
211: * @param copyLogEntryTimeout The copyLogEntryTimeout to set.
212: */
213: public void setCopyLogEntryTimeout(long copyLogEntryTimeout) {
214: this .copyLogEntryTimeout = copyLogEntryTimeout;
215: }
216:
217: /**
218: * Returns the defaultTimeout value.
219: *
220: * @return Returns the defaultTimeout.
221: */
222: public long getDefaultTimeout() {
223: return defaultTimeout;
224: }
225:
226: /**
227: * Sets the defaultTimeout value.
228: *
229: * @param defaultTimeout The defaultTimeout to set.
230: */
231: public void setDefaultTimeout(long defaultTimeout) {
232: this .defaultTimeout = defaultTimeout;
233: }
234:
235: /**
236: * Returns the disableBackendTimeout value.
237: *
238: * @return Returns the disableBackendTimeout.
239: */
240: public long getDisableBackendTimeout() {
241: if (disableBackendTimeout == DEFAULT_TIMEOUT_VALUE)
242: return defaultTimeout;
243: return disableBackendTimeout;
244: }
245:
246: /**
247: * Sets the disableBackendTimeout value.
248: *
249: * @param disableBackendTimeout The disableBackendTimeout to set.
250: */
251: public void setDisableBackendTimeout(long disableBackendTimeout) {
252: this .disableBackendTimeout = disableBackendTimeout;
253: }
254:
255: /**
256: * Returns the enableBackendTimeout value.
257: *
258: * @return Returns the enableBackendTimeout.
259: */
260: public long getEnableBackendTimeout() {
261: if (enableBackendTimeout == DEFAULT_TIMEOUT_VALUE)
262: return defaultTimeout;
263: return enableBackendTimeout;
264: }
265:
266: /**
267: * Sets the enableBackendTimeout value.
268: *
269: * @param enableBackendTimeout The enableBackendTimeout to set.
270: */
271: public void setEnableBackendTimeout(long enableBackendTimeout) {
272: this .enableBackendTimeout = enableBackendTimeout;
273: }
274:
275: /**
276: * Returns the execReadRequestTimeout value.
277: *
278: * @return Returns the execReadRequestTimeout.
279: */
280: public long getExecReadRequestTimeout() {
281: if (execReadRequestTimeout == DEFAULT_TIMEOUT_VALUE)
282: return defaultTimeout;
283: return execReadRequestTimeout;
284: }
285:
286: /**
287: * Sets the execReadRequestTimeout value.
288: *
289: * @param execReadRequestTimeout The execReadRequestTimeout to set.
290: */
291: public void setExecReadRequestTimeout(long execReadRequestTimeout) {
292: this .execReadRequestTimeout = execReadRequestTimeout;
293: }
294:
295: /**
296: * Returns the execReadStoredProcedureTimeout value.
297: *
298: * @return Returns the execReadStoredProcedureTimeout.
299: */
300: public long getExecReadStoredProcedureTimeout() {
301: if (execReadStoredProcedureTimeout == DEFAULT_TIMEOUT_VALUE)
302: return defaultTimeout;
303: return execReadStoredProcedureTimeout;
304: }
305:
306: /**
307: * Sets the execReadStoredProcedureTimeout value.
308: *
309: * @param execReadStoredProcedureTimeout The execReadStoredProcedureTimeout to
310: * set.
311: */
312: public void setExecReadStoredProcedureTimeout(
313: long execReadStoredProcedureTimeout) {
314: this .execReadStoredProcedureTimeout = execReadStoredProcedureTimeout;
315: }
316:
317: /**
318: * Returns the execWriteRequestTimeout value.
319: *
320: * @return Returns the execWriteRequestTimeout.
321: */
322: public long getExecWriteRequestTimeout() {
323: if (execWriteRequestTimeout == DEFAULT_TIMEOUT_VALUE)
324: return defaultTimeout;
325: return execWriteRequestTimeout;
326: }
327:
328: /**
329: * Returns the execWriteRequestWithKeysTimeout value.
330: *
331: * @return Returns the execWriteRequestWithKeysTimeout.
332: */
333: public long getExecWriteRequestWithKeysTimeout() {
334: if (execWriteRequestWithKeysTimeout == DEFAULT_TIMEOUT_VALUE)
335: return defaultTimeout;
336: return execWriteRequestWithKeysTimeout;
337: }
338:
339: /**
340: * Sets the execWriteRequestWithKeysTimeout value.
341: *
342: * @param execWriteRequestWithKeysTimeout The execWriteRequestWithKeysTimeout
343: * to set.
344: */
345: public void setExecWriteRequestWithKeysTimeout(
346: long execWriteRequestWithKeysTimeout) {
347: this .execWriteRequestWithKeysTimeout = execWriteRequestWithKeysTimeout;
348: }
349:
350: /**
351: * Sets the execWriteRequestTimeout value.
352: *
353: * @param execWriteRequestTimeout The execWriteRequestTimeout to set.
354: */
355: public void setExecWriteRequestTimeout(long execWriteRequestTimeout) {
356: this .execWriteRequestTimeout = execWriteRequestTimeout;
357: }
358:
359: /**
360: * Returns the execWriteStoredProcedureTimeout value.
361: *
362: * @return Returns the execWriteStoredProcedureTimeout.
363: */
364: public long getExecWriteStoredProcedureTimeout() {
365: if (execWriteStoredProcedureTimeout == DEFAULT_TIMEOUT_VALUE)
366: return defaultTimeout;
367: return execWriteStoredProcedureTimeout;
368: }
369:
370: /**
371: * Sets the execWriteStoredProcedureTimeout value.
372: *
373: * @param execWriteStoredProcedureTimeout The execWriteStoredProcedureTimeout
374: * to set.
375: */
376: public void setExecWriteStoredProcedureTimeout(
377: long execWriteStoredProcedureTimeout) {
378: this .execWriteStoredProcedureTimeout = execWriteStoredProcedureTimeout;
379: }
380:
381: /**
382: * Returns the initiateDumpCopyTimeout value.
383: *
384: * @return Returns the initiateDumpCopyTimeout.
385: */
386: public long getInitiateDumpCopyTimeout() {
387: if (initiateDumpCopyTimeout == DEFAULT_TIMEOUT_VALUE)
388: return defaultTimeout;
389: return initiateDumpCopyTimeout;
390: }
391:
392: /**
393: * Sets the initiateDumpCopyTimeout value.
394: *
395: * @param initiateDumpCopyTimeout The initiateDumpCopyTimeout to set.
396: */
397: public void setInitiateDumpCopyTimeout(long initiateDumpCopyTimeout) {
398: this .initiateDumpCopyTimeout = initiateDumpCopyTimeout;
399: }
400:
401: /**
402: * Returns the notifyCompletionTimeout value.
403: *
404: * @return Returns the notifyCompletionTimeout.
405: */
406: public long getNotifyCompletionTimeout() {
407: if (notifyCompletionTimeout == DEFAULT_TIMEOUT_VALUE)
408: return defaultTimeout;
409: return notifyCompletionTimeout;
410: }
411:
412: /**
413: * Sets the notifyCompletionTimeout value.
414: *
415: * @param notifyCompletionTimeout The notifyCompletionTimeout to set.
416: */
417: public void setNotifyCompletionTimeout(long notifyCompletionTimeout) {
418: this .notifyCompletionTimeout = notifyCompletionTimeout;
419: }
420:
421: /**
422: * Returns the releaseSavepointTimeout value.
423: *
424: * @return Returns the releaseSavepointTimeout.
425: */
426: public long getReleaseSavepointTimeout() {
427: if (releaseSavepointTimeout == DEFAULT_TIMEOUT_VALUE)
428: return defaultTimeout;
429: return releaseSavepointTimeout;
430: }
431:
432: /**
433: * Sets the releaseSavepointTimeout value.
434: *
435: * @param releaseSavepointTimeout The releaseSavepointTimeout to set.
436: */
437: public void setReleaseSavepointTimeout(long releaseSavepointTimeout) {
438: this .releaseSavepointTimeout = releaseSavepointTimeout;
439: }
440:
441: /**
442: * Returns the replicateLogEntriesTimeout value.
443: *
444: * @return Returns the replicateLogEntriesTimeout.
445: */
446: public long getReplicateLogEntriesTimeout() {
447: if (replicateLogEntriesTimeout == DEFAULT_TIMEOUT_VALUE)
448: return defaultTimeout;
449: return replicateLogEntriesTimeout;
450: }
451:
452: /**
453: * Sets the replicateLogEntriesTimeout value.
454: *
455: * @param replicateLogEntriesTimeout The replicateLogEntriesTimeout to set.
456: */
457: public void setReplicateLogEntriesTimeout(
458: long replicateLogEntriesTimeout) {
459: this .replicateLogEntriesTimeout = replicateLogEntriesTimeout;
460: }
461:
462: /**
463: * Returns the rollbackTimeout value.
464: *
465: * @return Returns the rollbackTimeout.
466: */
467: public long getRollbackTimeout() {
468: if (rollbackTimeout == DEFAULT_TIMEOUT_VALUE)
469: return defaultTimeout;
470: return rollbackTimeout;
471: }
472:
473: /**
474: * Sets the rollbackTimeout value.
475: *
476: * @param rollbackTimeout The rollbackTimeout to set.
477: */
478: public void setRollbackTimeout(long rollbackTimeout) {
479: this .rollbackTimeout = rollbackTimeout;
480: }
481:
482: /**
483: * Returns the rollbackToSavepointTimeout value.
484: *
485: * @return Returns the rollbackToSavepointTimeout.
486: */
487: public long getRollbackToSavepointTimeout() {
488: if (rollbackToSavepointTimeout == DEFAULT_TIMEOUT_VALUE)
489: return defaultTimeout;
490: return rollbackToSavepointTimeout;
491: }
492:
493: /**
494: * Sets the rollbackToSavepointTimeout value.
495: *
496: * @param rollbackToSavepointTimeout The rollbackToSavepointTimeout to set.
497: */
498: public void setRollbackToSavepointTimeout(
499: long rollbackToSavepointTimeout) {
500: this .rollbackToSavepointTimeout = rollbackToSavepointTimeout;
501: }
502:
503: /**
504: * Returns the setCheckpointTimeout value.
505: *
506: * @return Returns the setCheckpointTimeout.
507: */
508: public long getSetCheckpointTimeout() {
509: if (setCheckpointTimeout == DEFAULT_TIMEOUT_VALUE)
510: return defaultTimeout;
511: return setCheckpointTimeout;
512: }
513:
514: /**
515: * Sets the setCheckpointTimeout value.
516: *
517: * @param setCheckpointTimeout The setCheckpointTimeout to set.
518: */
519: public void setSetCheckpointTimeout(long setCheckpointTimeout) {
520: this .setCheckpointTimeout = setCheckpointTimeout;
521: }
522:
523: /**
524: * Returns the setSavepointTimeout value.
525: *
526: * @return Returns the setSavepointTimeout.
527: */
528: public long getSetSavepointTimeout() {
529: if (setSavepointTimeout == DEFAULT_TIMEOUT_VALUE)
530: return defaultTimeout;
531: return setSavepointTimeout;
532: }
533:
534: /**
535: * Sets the setSavepointTimeout value.
536: *
537: * @param setSavepointTimeout The setSavepointTimeout to set.
538: */
539: public void setSetSavepointTimeout(long setSavepointTimeout) {
540: this .setSavepointTimeout = setSavepointTimeout;
541: }
542:
543: /**
544: * Returns the unlogCommitTimeout value.
545: *
546: * @return Returns the unlogCommitTimeout.
547: */
548: public long getUnlogCommitTimeout() {
549: if (unlogCommitTimeout == DEFAULT_TIMEOUT_VALUE)
550: return defaultTimeout;
551: return unlogCommitTimeout;
552: }
553:
554: /**
555: * Sets the unlogCommitTimeout value.
556: *
557: * @param unlogCommitTimeout The unlogCommitTimeout to set.
558: */
559: public void setUnlogCommitTimeout(long unlogCommitTimeout) {
560: this .unlogCommitTimeout = unlogCommitTimeout;
561: }
562:
563: /**
564: * Returns the unlogRequestTimeout value.
565: *
566: * @return Returns the unlogRequestTimeout.
567: */
568: public long getUnlogRequestTimeout() {
569: if (unlogRequestTimeout == DEFAULT_TIMEOUT_VALUE)
570: return defaultTimeout;
571: return unlogRequestTimeout;
572: }
573:
574: /**
575: * Sets the unlogRequestTimeout value.
576: *
577: * @param unlogRequestTimeout The unlogRequestTimeout to set.
578: */
579: public void setUnlogRequestTimeout(long unlogRequestTimeout) {
580: this .unlogRequestTimeout = unlogRequestTimeout;
581: }
582:
583: /**
584: * Returns the unlogRollbackTimeout value.
585: *
586: * @return Returns the unlogRollbackTimeout.
587: */
588: public long getUnlogRollbackTimeout() {
589: if (unlogRollbackTimeout == DEFAULT_TIMEOUT_VALUE)
590: return defaultTimeout;
591: return unlogRollbackTimeout;
592: }
593:
594: /**
595: * Sets the unlogRollbackTimeout value.
596: *
597: * @param unlogRollbackTimeout The unlogRollbackTimeout to set.
598: */
599: public void setUnlogRollbackTimeout(long unlogRollbackTimeout) {
600: this .unlogRollbackTimeout = unlogRollbackTimeout;
601: }
602:
603: /**
604: * Returns the virtualDatabaseConfigurationTimeout value.
605: *
606: * @return Returns the virtualDatabaseConfigurationTimeout.
607: */
608: public long getVirtualDatabaseConfigurationTimeout() {
609: if (virtualDatabaseConfigurationTimeout == DEFAULT_TIMEOUT_VALUE)
610: return defaultTimeout;
611: return virtualDatabaseConfigurationTimeout;
612: }
613:
614: /**
615: * Sets the virtualDatabaseConfigurationTimeout value.
616: *
617: * @param virtualDatabaseConfigurationTimeout The
618: * virtualDatabaseConfigurationTimeout to set.
619: */
620: public void setVirtualDatabaseConfigurationTimeout(
621: long virtualDatabaseConfigurationTimeout) {
622: this .virtualDatabaseConfigurationTimeout = virtualDatabaseConfigurationTimeout;
623: }
624:
625: /**
626: * Fills the passed StringBuffer with the xml representation of this
627: * <code>MessageTimeouts</code> object. Default timeout values are not
628: * exported.
629: *
630: * @param sb StringBuffer to which the xml will be appended
631: */
632: public void generateXml(StringBuffer sb) {
633: sb.append("<" + DatabasesXmlTags.ELT_MessageTimeouts + " ");
634:
635: if (backendStatusTimeout != defaultTimeout)
636: sb.append(" " + DatabasesXmlTags.ATT_backendStatusTimeout
637: + " = \"" + backendStatusTimeout + "\"");
638: if (backendTransferTimeout != defaultTimeout)
639: sb.append(" " + DatabasesXmlTags.ATT_backendTransferTimeout
640: + " = \"" + backendTransferTimeout + "\"");
641: if (cacheInvalidateTimeout != defaultTimeout)
642: sb.append(" " + DatabasesXmlTags.ATT_cacheInvalidateTimeout
643: + " = \"" + cacheInvalidateTimeout + "\"");
644: if (commitTimeout != defaultTimeout)
645: sb.append(" " + DatabasesXmlTags.ATT_commitTimeout
646: + " = \"" + commitTimeout + "\"");
647: if (controllerNameTimeout != defaultTimeout)
648: sb.append(" " + DatabasesXmlTags.ATT_controllerNameTimeout
649: + " = \"" + controllerNameTimeout + "\"");
650: if (copyLogEntryTimeout != defaultTimeout)
651: sb.append(" " + DatabasesXmlTags.ATT_copyLogEntryTimeout
652: + " = \"" + copyLogEntryTimeout + "\"");
653: if (disableBackendTimeout != defaultTimeout)
654: sb.append(" " + DatabasesXmlTags.ATT_disableBackendTimeout
655: + " = \"" + disableBackendTimeout + "\"");
656: if (enableBackendTimeout != defaultTimeout)
657: sb.append(" " + DatabasesXmlTags.ATT_enableBackendTimeout
658: + " = \"" + enableBackendTimeout + "\"");
659: if (execReadRequestTimeout != defaultTimeout)
660: sb.append(" " + DatabasesXmlTags.ATT_execReadRequestTimeout
661: + " = \"" + execReadRequestTimeout + "\"");
662: if (execReadStoredProcedureTimeout != defaultTimeout)
663: sb
664: .append(" "
665: + DatabasesXmlTags.ATT_execReadStoredProcedureTimeout
666: + " = \"" + execReadStoredProcedureTimeout
667: + "\"");
668: if (execWriteRequestTimeout != defaultTimeout)
669: sb.append(" "
670: + DatabasesXmlTags.ATT_execWriteRequestTimeout
671: + " = \"" + execWriteRequestTimeout + "\"");
672: if (execWriteRequestWithKeysTimeout != defaultTimeout)
673: sb
674: .append(" "
675: + DatabasesXmlTags.ATT_execWriteRequestWithKeysTimeout
676: + " = \"" + execWriteRequestWithKeysTimeout
677: + "\"");
678: if (execWriteStoredProcedureTimeout != defaultTimeout)
679: sb
680: .append(" "
681: + DatabasesXmlTags.ATT_execWriteStoredProcedureTimeout
682: + " = \"" + execWriteStoredProcedureTimeout
683: + "\"");
684: if (initiateDumpCopyTimeout != defaultTimeout)
685: sb.append(" "
686: + DatabasesXmlTags.ATT_initiateDumpCopyTimeout
687: + " = \"" + initiateDumpCopyTimeout + "\"");
688: if (notifyCompletionTimeout != defaultTimeout)
689: sb.append(" "
690: + DatabasesXmlTags.ATT_notifyCompletionTimeout
691: + " = \"" + notifyCompletionTimeout + "\"");
692: if (releaseSavepointTimeout != defaultTimeout)
693: sb.append(" "
694: + DatabasesXmlTags.ATT_releaseSavepointTimeout
695: + " = \"" + releaseSavepointTimeout + "\"");
696: if (replicateLogEntriesTimeout != defaultTimeout)
697: sb.append(" "
698: + DatabasesXmlTags.ATT_replicateLogEntriesTimeout
699: + " = \"" + replicateLogEntriesTimeout + "\"");
700: if (rollbackTimeout != defaultTimeout)
701: sb.append(" " + DatabasesXmlTags.ATT_rollbackTimeout
702: + " = \"" + rollbackTimeout + "\"");
703: if (rollbackToSavepointTimeout != defaultTimeout)
704: sb.append(" "
705: + DatabasesXmlTags.ATT_rollbackToSavepointTimeout
706: + " = \"" + rollbackToSavepointTimeout + "\"");
707: if (setCheckpointTimeout != defaultTimeout)
708: sb.append(" " + DatabasesXmlTags.ATT_setCheckpointTimeout
709: + " = \"" + setCheckpointTimeout + "\"");
710: if (setSavepointTimeout != defaultTimeout)
711: sb.append(" " + DatabasesXmlTags.ATT_setSavepointTimeout
712: + " = \"" + setSavepointTimeout + "\"");
713: if (unlogCommitTimeout != defaultTimeout)
714: sb.append(" " + DatabasesXmlTags.ATT_unlogCommitTimeout
715: + " = \"" + unlogCommitTimeout + "\"");
716: if (unlogRequestTimeout != defaultTimeout)
717: sb.append(" " + DatabasesXmlTags.ATT_unlogRequestTimeout
718: + " = \"" + unlogRequestTimeout + "\"");
719: if (unlogRollbackTimeout != defaultTimeout)
720: sb.append(" " + DatabasesXmlTags.ATT_unlogRollbackTimeout
721: + " = \"" + unlogRollbackTimeout + "\"");
722: if (virtualDatabaseConfigurationTimeout != defaultTimeout)
723: sb
724: .append(" "
725: + DatabasesXmlTags.ATT_virtualDatabaseConfigurationTimeout
726: + " = \""
727: + virtualDatabaseConfigurationTimeout
728: + "\"");
729:
730: sb.append("/>");
731: }
732:
733: }
|