Last active
November 2, 2015 15:44
-
-
Save ricston-git/f48d0b471543160a3b26 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Processor | |
public List<Serializable> allKeys() throws ObjectStoreException { | |
if (objectStore instanceof ListableObjectStore) { | |
return ((ListableObjectStore<?>) objectStore).allKeys(); | |
} else { | |
throw new UnsupportedOperationException("The objectStore [" + objectStore.getClass().getName() + "] does not support the operation allKeys"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<spring:beans> | |
<spring:bean id="dataSource" class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" name="dataSource"> | |
<spring:property name="url" value="jdbc:mysql://localhost:3306/objectstoreTest?user=objectstore3&password=objectstore3" /> | |
</spring:bean> | |
<spring:bean name="jdbcStore" class="org.mule.transport.jdbc.store.JdbcObjectStore"> | |
<spring:property name="jdbcConnector" ref="jdbcConnector"></spring:property> | |
<spring:property name="insertQueryKey" value="insertQueryKey"></spring:property> | |
<spring:property name="selectQueryKey" value="selectQueryKey"></spring:property> | |
<spring:property name="deleteQueryKey" value="deleteQueryKey"></spring:property> | |
<spring:property name="clearQueryKey" value="clearQueryKey"></spring:property> | |
</spring:bean> | |
</spring:beans> | |
<jdbc-ee:connector name="jdbcConnector" pollingFrequency="1000" dataSource-ref="dataSource" transactionPerMessage="false" doc:name="Database"> | |
<jdbc-ee:query key="insertQueryKey" value="insert into objectstoreTest.objectstore (k,v) values (?,?)"></jdbc-ee:query> | |
<jdbc-ee:query key="selectQueryKey" value="select k,v from objectstoreTest.objectstore where k = ?"></jdbc-ee:query> | |
<jdbc-ee:query key="deleteQueryKey" value="delete from objectstore where k = ?"></jdbc-ee:query> | |
<jdbc-ee:query key="clearQueryKey" value="delete from objectstore"></jdbc-ee:query> | |
</jdbc-ee:connector> | |
<objectstore:config name="ObjectStore" doc:name="ObjectStore" objectStore-ref="jdbcStore"></objectstore:config> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@SuppressWarnings("unchecked") | |
@Override | |
public List<Serializable> allKeys() throws ObjectStoreException { | |
String allKeysQuery = this.getAllKeysQuery(); | |
List<String> result = (List<String>) this.query(allKeysQuery, this.listHandler); | |
return new ArrayList<Serializable>(result); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public Serializable retrieve(Serializable key) throws ObjectStoreException { | |
Serializable res = super.retrieve(key); | |
if (transformer == null) { | |
return res; | |
} else { | |
try { | |
return (Serializable) transformer.transform(res); | |
} catch (TransformerException e) { | |
e.printStackTrace(); | |
LOG.warn("Failed to transform result of object store retrieval to a Serializable. Returning the Serializable retrieved from object store without any transformation"); | |
return res; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE IF NOT EXISTS `objectstoreTest`.`objectstore` ( | |
`id` INT NOT NULL AUTO_INCREMENT, | |
`k` VARCHAR(60) NULL, | |
`v` BLOB NULL, | |
PRIMARY KEY (`id`), | |
UNIQUE INDEX `k_UNIQUE` (`k` ASC)) | |
ENGINE = InnoDB; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment