Я реализую решение кэширования в ibm integration bus
, используя java
внутри потоков сообщений, и логика реализована следующим образом:
Я построил базу
class
:Deparment
:открытый класс Department реализует Serializable {// члены с установщиками и получателями}
Я построил
Wrapper class
, который определяетArrayList<Department>
открытый класс CachedDepartment реализует Serializable {частные отделы ArrayList; // с сеттерами и геттерами ....}
Я создал класс, реализующий
cache
решение дляset
новогоvalue
иget
value
to set
:
MbGlobalMap globalMap = MbGlobalMap.getGlobalMap(globalMapName);
globalMap.put(key, value);
to get
:
CachedDepartment cacheddept = null;
MbGlobalMap globalMap = MbGlobalMap.getGlobalMap(globalMapName);
cacheddept = (CachedDepartment) globalMap.get(key);
Я создал файл
jar
и поместил его в каталогclassLoader
и его запуск при настройкеcache
, проблема заключается в запуске функции получения.java.lang.ClassCastException: cache.entities.CachedDepartment несовместим с cache.entities.CachedDepartment
Я прочитал эту ссылку ClassCastException при преобразовании в тот же класс, но все же я не знаю, как решить это в IBM Integration bus
, который запускает JDK 1.7
какие-нибудь идеи ???