01: /*
02: * Copyright 2005-2007 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.messaging;
18:
19: import org.springframework.beans.factory.FactoryBean;
20: import org.springframework.beans.factory.InitializingBean;
21:
22: import edu.iu.uis.eden.cache.RiceCacheAdministrator;
23: import edu.iu.uis.eden.cache.RiceCacheAdministratorImpl;
24:
25: /**
26: * Returns a {@link RiceCacheAdministrator}. Starts and registers this
27: * cache with the bus.
28: *
29: * @author rkirkend
30: */
31: public class RiceCacheExporterFactoryBean implements FactoryBean,
32: InitializingBean {
33:
34: private String messageEntity;
35: private RiceCacheAdministratorImpl cache;
36:
37: public Object getObject() throws Exception {
38: if (cache == null) {
39: cache = new RiceCacheAdministratorImpl();
40: cache.setMessageEntity(this .getMessageEntity());
41: cache.setForceRegistryRefresh(true);
42: cache.start();
43: }
44:
45: return cache;
46: }
47:
48: public Class getObjectType() {
49: return RiceCacheAdministrator.class;
50: }
51:
52: public boolean isSingleton() {
53: return true;
54: }
55:
56: public String getMessageEntity() {
57: return messageEntity;
58: }
59:
60: public void setMessageEntity(String messageEntity) {
61: this .messageEntity = messageEntity;
62: }
63:
64: public void afterPropertiesSet() throws Exception {
65: getObject();
66: }
67: }
|