001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.activemq.store.jdbc;
018
019 /**
020 *
021 *
022 * @org.apache.xbean.XBean element="statements"
023 *
024 */
025 public class Statements {
026
027 protected String messageTableName = "ACTIVEMQ_MSGS";
028 protected String durableSubAcksTableName = "ACTIVEMQ_ACKS";
029 protected String lockTableName = "ACTIVEMQ_LOCK";
030 protected String binaryDataType = "BLOB";
031 protected String containerNameDataType = "VARCHAR(250)";
032 protected String msgIdDataType = "VARCHAR(250)";
033 protected String sequenceDataType = "BIGINT";
034 protected String longDataType = "BIGINT";
035 protected String stringIdDataType = "VARCHAR(250)";
036 protected boolean useExternalMessageReferences;
037
038 private String tablePrefix = "";
039 private String addMessageStatement;
040 private String updateMessageStatement;
041 private String removeMessageStatement;
042 private String findMessageSequenceIdStatement;
043 private String findMessageStatement;
044 private String findMessageByIdStatement;
045 private String findAllMessagesStatement;
046 private String findLastSequenceIdInMsgsStatement;
047 private String findLastSequenceIdInAcksStatement;
048 private String createDurableSubStatement;
049 private String findDurableSubStatement;
050 private String findAllDurableSubsStatement;
051 private String updateLastPriorityAckRowOfDurableSubStatement;
052 private String deleteSubscriptionStatement;
053 private String findAllDurableSubMessagesStatement;
054 private String findDurableSubMessagesStatement;
055 private String findDurableSubMessagesByPriorityStatement;
056 private String findAllDestinationsStatement;
057 private String removeAllMessagesStatement;
058 private String removeAllSubscriptionsStatement;
059 private String deleteOldMessagesStatement;
060 private String[] createSchemaStatements;
061 private String[] dropSchemaStatements;
062 private String lockCreateStatement;
063 private String lockUpdateStatement;
064 private String nextDurableSubscriberMessageStatement;
065 private String durableSubscriberMessageCountStatement;
066 private String lastAckedDurableSubscriberMessageStatement;
067 private String destinationMessageCountStatement;
068 private String findNextMessagesStatement;
069 private String findNextMessagesByPriorityStatement;
070 private boolean useLockCreateWhereClause;
071 private String findAllMessageIdsStatement;
072 private String lastProducerSequenceIdStatement;
073 private String selectDurablePriorityAckStatement;
074
075 private String insertDurablePriorityAckStatement;
076 private String updateDurableLastAckStatement;
077 private String deleteOldMessagesStatementWithPriority;
078 private String durableSubscriberMessageCountStatementWithPriority;
079 private String dropAckPKAlterStatementEnd;
080
081 public String[] getCreateSchemaStatements() {
082 if (createSchemaStatements == null) {
083 createSchemaStatements = new String[] {
084 "CREATE TABLE " + getFullMessageTableName() + "(" + "ID " + sequenceDataType + " NOT NULL"
085 + ", CONTAINER " + containerNameDataType + ", MSGID_PROD " + msgIdDataType + ", MSGID_SEQ "
086 + sequenceDataType + ", EXPIRATION " + longDataType + ", MSG "
087 + (useExternalMessageReferences ? stringIdDataType : binaryDataType)
088 + ", PRIMARY KEY ( ID ) )",
089 "CREATE INDEX " + getFullMessageTableName() + "_MIDX ON " + getFullMessageTableName() + " (MSGID_PROD,MSGID_SEQ)",
090 "CREATE INDEX " + getFullMessageTableName() + "_CIDX ON " + getFullMessageTableName() + " (CONTAINER)",
091 "CREATE INDEX " + getFullMessageTableName() + "_EIDX ON " + getFullMessageTableName() + " (EXPIRATION)",
092 "CREATE TABLE " + getFullAckTableName() + "(" + "CONTAINER " + containerNameDataType + " NOT NULL"
093 + ", SUB_DEST " + stringIdDataType
094 + ", CLIENT_ID " + stringIdDataType + " NOT NULL" + ", SUB_NAME " + stringIdDataType
095 + " NOT NULL" + ", SELECTOR " + stringIdDataType + ", LAST_ACKED_ID " + sequenceDataType
096 + ", PRIMARY KEY ( CONTAINER, CLIENT_ID, SUB_NAME))",
097 "CREATE TABLE " + getFullLockTableName()
098 + "( ID " + longDataType + " NOT NULL, TIME " + longDataType
099 + ", BROKER_NAME " + stringIdDataType + ", PRIMARY KEY (ID) )",
100 "INSERT INTO " + getFullLockTableName() + "(ID) VALUES (1)",
101 "ALTER TABLE " + getFullMessageTableName() + " ADD PRIORITY " + sequenceDataType,
102 "CREATE INDEX " + getFullMessageTableName() + "_PIDX ON " + getFullMessageTableName() + " (PRIORITY)",
103 "ALTER TABLE " + getFullAckTableName() + " ADD PRIORITY " + sequenceDataType + " DEFAULT 5 NOT NULL",
104 "ALTER TABLE " + getFullAckTableName() + " " + getDropAckPKAlterStatementEnd(),
105 "ALTER TABLE " + getFullAckTableName() + " ADD PRIMARY KEY (CONTAINER, CLIENT_ID, SUB_NAME, PRIORITY)",
106 };
107 }
108 return createSchemaStatements;
109 }
110
111 public String getDropAckPKAlterStatementEnd() {
112 if (dropAckPKAlterStatementEnd == null) {
113 dropAckPKAlterStatementEnd = "DROP PRIMARY KEY";
114 }
115 return dropAckPKAlterStatementEnd;
116 }
117
118 public void setDropAckPKAlterStatementEnd(String dropAckPKAlterStatementEnd) {
119 this.dropAckPKAlterStatementEnd = dropAckPKAlterStatementEnd;
120 }
121
122 public String[] getDropSchemaStatements() {
123 if (dropSchemaStatements == null) {
124 dropSchemaStatements = new String[] {"DROP TABLE " + getFullAckTableName() + "",
125 "DROP TABLE " + getFullMessageTableName() + "",
126 "DROP TABLE " + getFullLockTableName() + ""};
127 }
128 return dropSchemaStatements;
129 }
130
131 public String getAddMessageStatement() {
132 if (addMessageStatement == null) {
133 addMessageStatement = "INSERT INTO "
134 + getFullMessageTableName()
135 + "(ID, MSGID_PROD, MSGID_SEQ, CONTAINER, EXPIRATION, PRIORITY, MSG) VALUES (?, ?, ?, ?, ?, ?, ?)";
136 }
137 return addMessageStatement;
138 }
139
140 public String getUpdateMessageStatement() {
141 if (updateMessageStatement == null) {
142 updateMessageStatement = "UPDATE " + getFullMessageTableName() + " SET MSG=? WHERE ID=?";
143 }
144 return updateMessageStatement;
145 }
146
147 public String getRemoveMessageStatement() {
148 if (removeMessageStatement == null) {
149 removeMessageStatement = "DELETE FROM " + getFullMessageTableName() + " WHERE ID=?";
150 }
151 return removeMessageStatement;
152 }
153
154 public String getFindMessageSequenceIdStatement() {
155 if (findMessageSequenceIdStatement == null) {
156 findMessageSequenceIdStatement = "SELECT ID, PRIORITY FROM " + getFullMessageTableName()
157 + " WHERE MSGID_PROD=? AND MSGID_SEQ=? AND CONTAINER=?";
158 }
159 return findMessageSequenceIdStatement;
160 }
161
162 public String getFindMessageStatement() {
163 if (findMessageStatement == null) {
164 findMessageStatement = "SELECT MSG FROM " + getFullMessageTableName() + " WHERE MSGID_PROD=? AND MSGID_SEQ=?";
165 }
166 return findMessageStatement;
167 }
168
169 public String getFindMessageByIdStatement() {
170 if (findMessageByIdStatement == null) {
171 findMessageByIdStatement = "SELECT MSG FROM " + getFullMessageTableName() + " WHERE ID=?";
172 }
173 return findMessageByIdStatement;
174 }
175
176 public String getFindAllMessagesStatement() {
177 if (findAllMessagesStatement == null) {
178 findAllMessagesStatement = "SELECT ID, MSG FROM " + getFullMessageTableName()
179 + " WHERE CONTAINER=? ORDER BY ID";
180 }
181 return findAllMessagesStatement;
182 }
183
184 public String getFindAllMessageIdsStatement() {
185 // this needs to be limited maybe need to use getFindLastSequenceIdInMsgsStatement
186 // and work back for X
187 if (findAllMessageIdsStatement == null) {
188 findAllMessageIdsStatement = "SELECT ID, MSGID_PROD, MSGID_SEQ FROM " + getFullMessageTableName()
189 + " ORDER BY ID DESC";
190 }
191 return findAllMessageIdsStatement;
192 }
193
194 public String getFindLastSequenceIdInMsgsStatement() {
195 if (findLastSequenceIdInMsgsStatement == null) {
196 findLastSequenceIdInMsgsStatement = "SELECT MAX(ID) FROM " + getFullMessageTableName();
197 }
198 return findLastSequenceIdInMsgsStatement;
199 }
200
201 public String getLastProducerSequenceIdStatement() {
202 if (lastProducerSequenceIdStatement == null) {
203 lastProducerSequenceIdStatement = "SELECT MAX(MSGID_SEQ) FROM " + getFullMessageTableName()
204 + " WHERE MSGID_PROD=?";
205 }
206 return lastProducerSequenceIdStatement;
207 }
208
209
210 public String getFindLastSequenceIdInAcksStatement() {
211 if (findLastSequenceIdInAcksStatement == null) {
212 findLastSequenceIdInAcksStatement = "SELECT MAX(LAST_ACKED_ID) FROM " + getFullAckTableName();
213 }
214 return findLastSequenceIdInAcksStatement;
215 }
216
217 public String getCreateDurableSubStatement() {
218 if (createDurableSubStatement == null) {
219 createDurableSubStatement = "INSERT INTO "
220 + getFullAckTableName()
221 + "(CONTAINER, CLIENT_ID, SUB_NAME, SELECTOR, LAST_ACKED_ID, SUB_DEST, PRIORITY) "
222 + "VALUES (?, ?, ?, ?, ?, ?, ?)";
223 }
224 return createDurableSubStatement;
225 }
226
227 public String getFindDurableSubStatement() {
228 if (findDurableSubStatement == null) {
229 findDurableSubStatement = "SELECT SELECTOR, SUB_DEST " + "FROM " + getFullAckTableName()
230 + " WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=?";
231 }
232 return findDurableSubStatement;
233 }
234
235 public String getFindAllDurableSubsStatement() {
236 if (findAllDurableSubsStatement == null) {
237 findAllDurableSubsStatement = "SELECT SELECTOR, SUB_NAME, CLIENT_ID, SUB_DEST" + " FROM "
238 + getFullAckTableName() + " WHERE CONTAINER=? AND PRIORITY=0";
239 }
240 return findAllDurableSubsStatement;
241 }
242
243 public String getUpdateLastPriorityAckRowOfDurableSubStatement() {
244 if (updateLastPriorityAckRowOfDurableSubStatement == null) {
245 updateLastPriorityAckRowOfDurableSubStatement = "UPDATE " + getFullAckTableName() + " SET LAST_ACKED_ID=?"
246 + " WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=? AND PRIORITY=?";
247 }
248 return updateLastPriorityAckRowOfDurableSubStatement;
249 }
250
251 public String getDeleteSubscriptionStatement() {
252 if (deleteSubscriptionStatement == null) {
253 deleteSubscriptionStatement = "DELETE FROM " + getFullAckTableName()
254 + " WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=?";
255 }
256 return deleteSubscriptionStatement;
257 }
258
259 public String getFindAllDurableSubMessagesStatement() {
260 if (findAllDurableSubMessagesStatement == null) {
261 findAllDurableSubMessagesStatement = "SELECT M.ID, M.MSG FROM " + getFullMessageTableName()
262 + " M, " + getFullAckTableName() + " D "
263 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
264 + " AND M.CONTAINER=D.CONTAINER AND M.ID > D.LAST_ACKED_ID"
265 + " ORDER BY M.PRIORITY DESC, M.ID";
266 }
267 return findAllDurableSubMessagesStatement;
268 }
269
270 public String getFindDurableSubMessagesStatement() {
271 if (findDurableSubMessagesStatement == null) {
272 findDurableSubMessagesStatement = "SELECT M.ID, M.MSG FROM " + getFullMessageTableName() + " M, "
273 + getFullAckTableName() + " D "
274 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
275 + " AND M.CONTAINER=D.CONTAINER AND M.ID > D.LAST_ACKED_ID"
276 + " AND M.ID > ?"
277 + " ORDER BY M.ID";
278 }
279 return findDurableSubMessagesStatement;
280 }
281
282 public String getFindDurableSubMessagesByPriorityStatement() {
283 if (findDurableSubMessagesByPriorityStatement == null) {
284 findDurableSubMessagesByPriorityStatement = "SELECT M.ID, M.MSG FROM " + getFullMessageTableName() + " M,"
285 + " " + getFullAckTableName() + " D"
286 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
287 + " AND M.CONTAINER=D.CONTAINER"
288 + " AND M.PRIORITY=D.PRIORITY AND M.ID > D.LAST_ACKED_ID"
289 + " AND M.ID > ? AND M.PRIORITY = ?"
290 + " ORDER BY M.ID";
291 }
292 return findDurableSubMessagesByPriorityStatement;
293 }
294
295 public String findAllDurableSubMessagesStatement() {
296 if (findAllDurableSubMessagesStatement == null) {
297 findAllDurableSubMessagesStatement = "SELECT M.ID, M.MSG FROM " + getFullMessageTableName()
298 + " M, " + getFullAckTableName() + " D "
299 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
300 + " AND M.CONTAINER=D.CONTAINER AND M.ID > D.LAST_ACKED_ID"
301 + " ORDER BY M.ID";
302 }
303 return findAllDurableSubMessagesStatement;
304 }
305
306 public String getNextDurableSubscriberMessageStatement() {
307 if (nextDurableSubscriberMessageStatement == null) {
308 nextDurableSubscriberMessageStatement = "SELECT M.ID, M.MSG FROM "
309 + getFullMessageTableName()
310 + " M, "
311 + getFullAckTableName()
312 + " D "
313 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
314 + " AND M.CONTAINER=D.CONTAINER AND M.ID > ?"
315 + " ORDER BY M.ID ";
316 }
317 return nextDurableSubscriberMessageStatement;
318 }
319
320 /**
321 * @return the durableSubscriberMessageCountStatement
322 */
323
324 public String getDurableSubscriberMessageCountStatement() {
325 if (durableSubscriberMessageCountStatement == null) {
326 durableSubscriberMessageCountStatement = "SELECT COUNT(*) FROM "
327 + getFullMessageTableName()
328 + " M, "
329 + getFullAckTableName()
330 + " D "
331 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
332 + " AND M.CONTAINER=D.CONTAINER "
333 + " AND M.ID >"
334 + " ( SELECT LAST_ACKED_ID FROM " + getFullAckTableName()
335 + " WHERE CONTAINER=D.CONTAINER AND CLIENT_ID=D.CLIENT_ID"
336 + " AND SUB_NAME=D.SUB_NAME )";
337
338 }
339 return durableSubscriberMessageCountStatement;
340 }
341
342 public String getDurableSubscriberMessageCountStatementWithPriority() {
343 if (durableSubscriberMessageCountStatementWithPriority == null) {
344 durableSubscriberMessageCountStatementWithPriority = "SELECT COUNT(*) FROM "
345 + getFullMessageTableName()
346 + " M, "
347 + getFullAckTableName()
348 + " D "
349 + " WHERE D.CONTAINER=? AND D.CLIENT_ID=? AND D.SUB_NAME=?"
350 + " AND M.CONTAINER=D.CONTAINER "
351 + " AND M.PRIORITY=D.PRIORITY "
352 + " AND M.ID > D.LAST_ACKED_ID";
353 }
354
355 return durableSubscriberMessageCountStatementWithPriority;
356 }
357
358 public String getFindAllDestinationsStatement() {
359 if (findAllDestinationsStatement == null) {
360 findAllDestinationsStatement = "SELECT DISTINCT CONTAINER FROM " + getFullAckTableName();
361 }
362 return findAllDestinationsStatement;
363 }
364
365 public String getRemoveAllMessagesStatement() {
366 if (removeAllMessagesStatement == null) {
367 removeAllMessagesStatement = "DELETE FROM " + getFullMessageTableName() + " WHERE CONTAINER=?";
368 }
369 return removeAllMessagesStatement;
370 }
371
372 public String getRemoveAllSubscriptionsStatement() {
373 if (removeAllSubscriptionsStatement == null) {
374 removeAllSubscriptionsStatement = "DELETE FROM " + getFullAckTableName() + " WHERE CONTAINER=?";
375 }
376 return removeAllSubscriptionsStatement;
377 }
378
379 public String getDeleteOldMessagesStatementWithPriority() {
380 if (deleteOldMessagesStatementWithPriority == null) {
381 deleteOldMessagesStatementWithPriority = "DELETE FROM " + getFullMessageTableName()
382 + " WHERE ( EXPIRATION<>0 AND EXPIRATION<?)"
383 + " OR (ID <= "
384 + " ( SELECT min(" + getFullAckTableName() + ".LAST_ACKED_ID)"
385 + " FROM " + getFullAckTableName() + " WHERE "
386 + getFullAckTableName() + ".CONTAINER="
387 + getFullMessageTableName() + ".CONTAINER"
388 + " AND " + getFullAckTableName() + ".PRIORITY=" + getFullMessageTableName() + ".PRIORITY )"
389 + " )";
390 }
391 return deleteOldMessagesStatementWithPriority;
392 }
393
394 public String getDeleteOldMessagesStatement() {
395 if (deleteOldMessagesStatement == null) {
396 deleteOldMessagesStatement = "DELETE FROM " + getFullMessageTableName()
397 + " WHERE ( EXPIRATION<>0 AND EXPIRATION<?)"
398 + " OR (ID <= "
399 + " ( SELECT min(" + getFullAckTableName() + ".LAST_ACKED_ID)"
400 + " FROM " + getFullAckTableName() + " WHERE "
401 + getFullAckTableName() + ".CONTAINER="
402 + getFullMessageTableName() + ".CONTAINER )"
403 + " )";
404
405 }
406 return deleteOldMessagesStatement;
407 }
408
409
410 public String getLockCreateStatement() {
411 if (lockCreateStatement == null) {
412 lockCreateStatement = "SELECT * FROM " + getFullLockTableName();
413 if (useLockCreateWhereClause) {
414 lockCreateStatement += " WHERE ID = 1";
415 }
416 lockCreateStatement += " FOR UPDATE";
417 }
418 return lockCreateStatement;
419 }
420
421 public String getLockUpdateStatement() {
422 if (lockUpdateStatement == null) {
423 lockUpdateStatement = "UPDATE " + getFullLockTableName() + " SET TIME = ? WHERE ID = 1";
424 }
425 return lockUpdateStatement;
426 }
427
428 /**
429 * @return the destinationMessageCountStatement
430 */
431 public String getDestinationMessageCountStatement() {
432 if (destinationMessageCountStatement == null) {
433 destinationMessageCountStatement = "SELECT COUNT(*) FROM " + getFullMessageTableName()
434 + " WHERE CONTAINER=?";
435 }
436 return destinationMessageCountStatement;
437 }
438
439 /**
440 * @return the findNextMessagesStatement
441 */
442 public String getFindNextMessagesStatement() {
443 if (findNextMessagesStatement == null) {
444 findNextMessagesStatement = "SELECT ID, MSG FROM " + getFullMessageTableName()
445 + " WHERE CONTAINER=? AND ID > ? ORDER BY ID";
446 }
447 return findNextMessagesStatement;
448 }
449
450 /**
451 * @return the findNextMessagesStatement
452 */
453 public String getFindNextMessagesByPriorityStatement() {
454 if (findNextMessagesByPriorityStatement == null) {
455 findNextMessagesByPriorityStatement = "SELECT ID, MSG FROM " + getFullMessageTableName()
456 + " WHERE CONTAINER=?"
457 + " AND ((ID > ? AND PRIORITY = ?) OR PRIORITY < ?)"
458 + " ORDER BY PRIORITY DESC, ID";
459 }
460 return findNextMessagesByPriorityStatement;
461 }
462
463 /**
464 * @return the lastAckedDurableSubscriberMessageStatement
465 */
466 public String getLastAckedDurableSubscriberMessageStatement() {
467 if (lastAckedDurableSubscriberMessageStatement == null) {
468 lastAckedDurableSubscriberMessageStatement = "SELECT MAX(LAST_ACKED_ID) FROM "
469 + getFullAckTableName()
470 + " WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=?";
471 }
472 return lastAckedDurableSubscriberMessageStatement;
473 }
474
475 public String getSelectDurablePriorityAckStatement() {
476 if (selectDurablePriorityAckStatement == null) {
477 selectDurablePriorityAckStatement = "SELECT LAST_ACKED_ID FROM " + getFullAckTableName()
478 + " WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=?"
479 + " AND PRIORITY = ?";
480 }
481 return selectDurablePriorityAckStatement;
482 }
483
484 public String getInsertDurablePriorityAckStatement() {
485 if (insertDurablePriorityAckStatement == null) {
486 insertDurablePriorityAckStatement = "INSERT INTO "
487 + getFullAckTableName()
488 + "(CONTAINER, CLIENT_ID, SUB_NAME, PRIORITY)"
489 + " VALUES (?, ?, ?, ?)";
490 }
491 return insertDurablePriorityAckStatement;
492 }
493
494
495 public String getUpdateDurableLastAckStatement() {
496 if (updateDurableLastAckStatement == null) {
497 updateDurableLastAckStatement = "UPDATE " + getFullAckTableName()
498 + " SET LAST_ACKED_ID = ? WHERE CONTAINER=? AND CLIENT_ID=? AND SUB_NAME=?";
499 }
500 return updateDurableLastAckStatement;
501 }
502
503 public String getFullMessageTableName() {
504 return getTablePrefix() + getMessageTableName();
505 }
506
507 public String getFullAckTableName() {
508 return getTablePrefix() + getDurableSubAcksTableName();
509 }
510
511 public String getFullLockTableName() {
512 return getTablePrefix() + getLockTableName();
513 }
514
515 /**
516 * @return Returns the containerNameDataType.
517 */
518 public String getContainerNameDataType() {
519 return containerNameDataType;
520 }
521
522 /**
523 * @param containerNameDataType The containerNameDataType to set.
524 */
525 public void setContainerNameDataType(String containerNameDataType) {
526 this.containerNameDataType = containerNameDataType;
527 }
528
529 /**
530 * @return Returns the messageDataType.
531 */
532 public String getBinaryDataType() {
533 return binaryDataType;
534 }
535
536 /**
537 * @param messageDataType The messageDataType to set.
538 */
539 public void setBinaryDataType(String messageDataType) {
540 this.binaryDataType = messageDataType;
541 }
542
543 /**
544 * @return Returns the messageTableName.
545 */
546 public String getMessageTableName() {
547 return messageTableName;
548 }
549
550 /**
551 * @param messageTableName The messageTableName to set.
552 */
553 public void setMessageTableName(String messageTableName) {
554 this.messageTableName = messageTableName;
555 }
556
557 /**
558 * @return Returns the msgIdDataType.
559 */
560 public String getMsgIdDataType() {
561 return msgIdDataType;
562 }
563
564 /**
565 * @param msgIdDataType The msgIdDataType to set.
566 */
567 public void setMsgIdDataType(String msgIdDataType) {
568 this.msgIdDataType = msgIdDataType;
569 }
570
571 /**
572 * @return Returns the sequenceDataType.
573 */
574 public String getSequenceDataType() {
575 return sequenceDataType;
576 }
577
578 /**
579 * @param sequenceDataType The sequenceDataType to set.
580 */
581 public void setSequenceDataType(String sequenceDataType) {
582 this.sequenceDataType = sequenceDataType;
583 }
584
585 /**
586 * @return Returns the tablePrefix.
587 */
588 public String getTablePrefix() {
589 return tablePrefix;
590 }
591
592 /**
593 * @param tablePrefix The tablePrefix to set.
594 */
595 public void setTablePrefix(String tablePrefix) {
596 this.tablePrefix = tablePrefix;
597 }
598
599 /**
600 * @return Returns the durableSubAcksTableName.
601 */
602 public String getDurableSubAcksTableName() {
603 return durableSubAcksTableName;
604 }
605
606 /**
607 * @param durableSubAcksTableName The durableSubAcksTableName to set.
608 */
609 public void setDurableSubAcksTableName(String durableSubAcksTableName) {
610 this.durableSubAcksTableName = durableSubAcksTableName;
611 }
612
613 public String getLockTableName() {
614 return lockTableName;
615 }
616
617 public void setLockTableName(String lockTableName) {
618 this.lockTableName = lockTableName;
619 }
620
621 public String getLongDataType() {
622 return longDataType;
623 }
624
625 public void setLongDataType(String longDataType) {
626 this.longDataType = longDataType;
627 }
628
629 public String getStringIdDataType() {
630 return stringIdDataType;
631 }
632
633 public void setStringIdDataType(String stringIdDataType) {
634 this.stringIdDataType = stringIdDataType;
635 }
636
637 public void setUseExternalMessageReferences(boolean useExternalMessageReferences) {
638 this.useExternalMessageReferences = useExternalMessageReferences;
639 }
640
641 public boolean isUseExternalMessageReferences() {
642 return useExternalMessageReferences;
643 }
644
645 public void setAddMessageStatement(String addMessageStatment) {
646 this.addMessageStatement = addMessageStatment;
647 }
648
649 public void setCreateDurableSubStatement(String createDurableSubStatment) {
650 this.createDurableSubStatement = createDurableSubStatment;
651 }
652
653 public void setCreateSchemaStatements(String[] createSchemaStatments) {
654 this.createSchemaStatements = createSchemaStatments;
655 }
656
657 public void setDeleteOldMessagesStatement(String deleteOldMessagesStatment) {
658 this.deleteOldMessagesStatement = deleteOldMessagesStatment;
659 }
660
661 public void setDeleteOldMessagesStatementWithPriority(String deleteOldMessagesStatmentWithPriority) {
662 this.deleteOldMessagesStatementWithPriority = deleteOldMessagesStatmentWithPriority;
663 }
664
665 public void setDeleteSubscriptionStatement(String deleteSubscriptionStatment) {
666 this.deleteSubscriptionStatement = deleteSubscriptionStatment;
667 }
668
669 public void setDropSchemaStatements(String[] dropSchemaStatments) {
670 this.dropSchemaStatements = dropSchemaStatments;
671 }
672
673 public void setFindAllDestinationsStatement(String findAllDestinationsStatment) {
674 this.findAllDestinationsStatement = findAllDestinationsStatment;
675 }
676
677 public void setFindAllDurableSubMessagesStatement(String findAllDurableSubMessagesStatment) {
678 this.findAllDurableSubMessagesStatement = findAllDurableSubMessagesStatment;
679 }
680
681 public void setFindAllDurableSubsStatement(String findAllDurableSubsStatment) {
682 this.findAllDurableSubsStatement = findAllDurableSubsStatment;
683 }
684
685 public void setFindAllMessagesStatement(String findAllMessagesStatment) {
686 this.findAllMessagesStatement = findAllMessagesStatment;
687 }
688
689 public void setFindDurableSubStatement(String findDurableSubStatment) {
690 this.findDurableSubStatement = findDurableSubStatment;
691 }
692
693 public void setFindLastSequenceIdInAcksStatement(String findLastSequenceIdInAcks) {
694 this.findLastSequenceIdInAcksStatement = findLastSequenceIdInAcks;
695 }
696
697 public void setFindLastSequenceIdInMsgsStatement(String findLastSequenceIdInMsgs) {
698 this.findLastSequenceIdInMsgsStatement = findLastSequenceIdInMsgs;
699 }
700
701 public void setFindMessageSequenceIdStatement(String findMessageSequenceIdStatment) {
702 this.findMessageSequenceIdStatement = findMessageSequenceIdStatment;
703 }
704
705 public void setFindMessageStatement(String findMessageStatment) {
706 this.findMessageStatement = findMessageStatment;
707 }
708
709 public void setFindMessageByIdStatement(String findMessageByIdStatement) {
710 this.findMessageByIdStatement = findMessageByIdStatement;
711 }
712
713 public void setRemoveAllMessagesStatement(String removeAllMessagesStatment) {
714 this.removeAllMessagesStatement = removeAllMessagesStatment;
715 }
716
717 public void setRemoveAllSubscriptionsStatement(String removeAllSubscriptionsStatment) {
718 this.removeAllSubscriptionsStatement = removeAllSubscriptionsStatment;
719 }
720
721 public void setRemoveMessageStatment(String removeMessageStatement) {
722 this.removeMessageStatement = removeMessageStatement;
723 }
724
725 public void setUpdateLastPriorityAckRowOfDurableSubStatement(String updateLastPriorityAckRowOfDurableSubStatement) {
726 this.updateLastPriorityAckRowOfDurableSubStatement = updateLastPriorityAckRowOfDurableSubStatement;
727 }
728
729 public void setUpdateMessageStatement(String updateMessageStatment) {
730 this.updateMessageStatement = updateMessageStatment;
731 }
732
733 public boolean isUseLockCreateWhereClause() {
734 return useLockCreateWhereClause;
735 }
736
737 public void setUseLockCreateWhereClause(boolean useLockCreateWhereClause) {
738 this.useLockCreateWhereClause = useLockCreateWhereClause;
739 }
740
741 public void setLockCreateStatement(String lockCreateStatement) {
742 this.lockCreateStatement = lockCreateStatement;
743 }
744
745 public void setLockUpdateStatement(String lockUpdateStatement) {
746 this.lockUpdateStatement = lockUpdateStatement;
747 }
748
749 /**
750 * @param findDurableSubMessagesStatement the
751 * findDurableSubMessagesStatement to set
752 */
753 public void setFindDurableSubMessagesStatement(String findDurableSubMessagesStatement) {
754 this.findDurableSubMessagesStatement = findDurableSubMessagesStatement;
755 }
756
757 /**
758 * @param nextDurableSubscriberMessageStatement the nextDurableSubscriberMessageStatement to set
759 */
760 public void setNextDurableSubscriberMessageStatement(String nextDurableSubscriberMessageStatement) {
761 this.nextDurableSubscriberMessageStatement = nextDurableSubscriberMessageStatement;
762 }
763
764 /**
765 * @param durableSubscriberMessageCountStatement the durableSubscriberMessageCountStatement to set
766 */
767 public void setDurableSubscriberMessageCountStatement(String durableSubscriberMessageCountStatement) {
768 this.durableSubscriberMessageCountStatement = durableSubscriberMessageCountStatement;
769 }
770
771 public void setDurableSubscriberMessageCountStatementWithPriority(String durableSubscriberMessageCountStatementWithPriority) {
772 this.durableSubscriberMessageCountStatementWithPriority = durableSubscriberMessageCountStatementWithPriority;
773 }
774
775 /**
776 * @param findNextMessagesStatement the findNextMessagesStatement to set
777 */
778 public void setFindNextMessagesStatement(String findNextMessagesStatement) {
779 this.findNextMessagesStatement = findNextMessagesStatement;
780 }
781
782 /**
783 * @param destinationMessageCountStatement the destinationMessageCountStatement to set
784 */
785 public void setDestinationMessageCountStatement(String destinationMessageCountStatement) {
786 this.destinationMessageCountStatement = destinationMessageCountStatement;
787 }
788
789 /**
790 * @param lastAckedDurableSubscriberMessageStatement the lastAckedDurableSubscriberMessageStatement to set
791 */
792 public void setLastAckedDurableSubscriberMessageStatement(
793 String lastAckedDurableSubscriberMessageStatement) {
794 this.lastAckedDurableSubscriberMessageStatement = lastAckedDurableSubscriberMessageStatement;
795 }
796
797
798 public void setLastProducerSequenceIdStatement(String lastProducerSequenceIdStatement) {
799 this.lastProducerSequenceIdStatement = lastProducerSequenceIdStatement;
800 }
801
802 public void setSelectDurablePriorityAckStatement(String selectDurablePriorityAckStatement) {
803 this.selectDurablePriorityAckStatement = selectDurablePriorityAckStatement;
804 }
805
806 public void setInsertDurablePriorityAckStatement(String insertDurablePriorityAckStatement) {
807 this.insertDurablePriorityAckStatement = insertDurablePriorityAckStatement;
808 }
809
810 public void setUpdateDurableLastAckStatement(String updateDurableLastAckStatement) {
811 this.updateDurableLastAckStatement = updateDurableLastAckStatement;
812 }
813 }