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 }