public boolean update()

in modules/persistence/src/main/java/org/apache/sandesha2/storage/jdbc/PersistentRMSBeanMgr.java [472:544]


	public boolean update(RMSBean bean)
			throws SandeshaStorageException {
		if (log.isDebugEnabled()) {
			log.debug("Update bean : " + bean);
		}
		try {
			PreparedStatement pstmt = getDbConnection().prepareStatement("update wsrm_rms set " +
					"sequence_id=?,to_epr_addr=?,to_epr=?,reply_to_epr_addr=?,reply_to_epr=?,acks_to_epr_addr=?,acks_to_epr=?,rm_version=?,security_token_data=?," +
					"last_activated_time=?,closed=?,terminated_flag=?,polling_mode=?,service_name=?," +
					"flags=?,id=?,internal_sequence_id=?,create_sequence_msg_store_key=?," +
					"reference_msg_store_key=?,last_send_error=?,highest_out_relates_to=?," +
					"client_completed_messages=?,transport_to=?,offered_endpoint=?,offered_sequence=?," +
					"anonymous_uuid=?,last_send_error_timestamp=?,last_out_message=?,highest_out_message_number=?," +
					"next_message_number=?,terminate_added=?,timed_out=?,sequence_closed_client=?," +
					"expected_replies=?,soap_version=?,termination_pauser_for_cs=?,avoid_auto_termination=?," +
					"rms_flags=?" +
					" where create_seq_msg_id='" + bean.getCreateSeqMsgID() + "'");
			pstmt.setString(1, bean.getSequenceID());
			EndpointReference epr = bean.getToEndpointReference();
			pstmt.setString(2, epr != null ? epr.getAddress() : null);
			// Derby don't serialize object in blob !
			// pstmt.setObject(3, epr);
			ByteArrayInputStream bais = serialize(epr);
			pstmt.setBinaryStream(3, bais, bais.available());
			epr = bean.getReplyToEndpointReference();
			pstmt.setString(4, epr != null ? epr.getAddress() : null);
			bais = serialize(epr);
			pstmt.setBinaryStream(5, bais, bais.available());
			epr = bean.getAcksToEndpointReference();
			pstmt.setString(6, epr != null ? epr.getAddress() : null);
			bais = serialize(epr);
			pstmt.setBinaryStream(7, bais, bais.available());
			pstmt.setString(8, bean.getRMVersion());
			pstmt.setString(9, bean.getSecurityTokenData());
			pstmt.setLong(10, bean.getLastActivatedTime());
			pstmt.setInt(11, bean.isClosed() ? 1 : 0);
			pstmt.setInt(12, bean.isTerminated() ? 1 : 0);
			pstmt.setInt(13, bean.isPollingMode() ? 1 : 0);
			pstmt.setString(14, bean.getServiceName());
			pstmt.setInt(15, bean.getFlags());
			pstmt.setLong(16, bean.getId());
			pstmt.setString(17, bean.getInternalSequenceID());
			pstmt.setString(18, bean.getCreateSequenceMsgStoreKey());
			pstmt.setString(19, bean.getReferenceMessageStoreKey());
			bais = serialize(bean.getLastSendError());
			pstmt.setBinaryStream(20, bais, bais.available());
			pstmt.setString(21, bean.getHighestOutRelatesTo());
			RangeString rs = bean.getClientCompletedMessages();
			pstmt.setString(22, rs != null ? rs.toString() : null);
			pstmt.setString(23, bean.getTransportTo());
			pstmt.setString(24, bean.getOfferedEndPoint());
			pstmt.setString(25, bean.getOfferedSequence());
			pstmt.setString(26, bean.getAnonymousUUID());
			pstmt.setLong(27, bean.getLastSendErrorTimestamp());
			pstmt.setLong(28, bean.getLastOutMessage());
			pstmt.setLong(29, bean.getHighestOutMessageNumber());
			pstmt.setLong(30, bean.getNextMessageNumber());
			pstmt.setInt(31, bean.isTerminateAdded() ? 1 : 0);
			pstmt.setInt(32, bean.isTimedOut() ? 1 : 0);
			pstmt.setInt(33, bean.isSequenceClosedClient() ? 1 : 0);
			pstmt.setLong(34, bean.getExpectedReplies());
			pstmt.setInt(35, bean.getSoapVersion());
			pstmt.setInt(36, bean.isTerminationPauserForCS() ? 1 : 0);
			pstmt.setInt(37, bean.isAvoidAutoTermination() ? 1 : 0);
			pstmt.setInt(38, bean.getRmsFlags());
			pstmt.execute();
			pstmt.close();
		} catch (Exception ex) {
			log.error("Update Exception " + ex);
			throw new SandeshaStorageException("Exception in RMSBeanMgr update", ex);
		}
		return true;
	}