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