Я хочу спросить, как решить проблему в моем CacheBean. Он использует мой пользовательский EJBTestObject для хранения времени. Этот класс связан с maven-проектами через зависимости в pom.xml.
Я все еще получаю ошибки:
wipb/jee/clientdemo/ejb/CacheBean.java:[17,8] wipb.jee.clientdemo.ejb.CacheBean is not abstract and does not override abstract method add(java.lang.String,java.lang.Object) in wipb.jee.clientdemo.ejb.CacheBeanRemote
wipb/jee/clientdemo/ejb/CacheBean.java:[39,5] method does not override or implement a method from a supertype
2 errors
EJBTestObject:
public class EJBTestObject {
private String content;
private long lastAccess;
public EJBTestObject(String content, long lastAccess) {
this.content = content;
this.lastAccess = lastAccess;
}
..getters and setters
}
CacheBean:
@Singleton
public class CacheBean implements CacheBeanRemote {
private Map<String, EJBTestObject> cache = new HashMap<>();
@Override
public EJBTestObject get(String key) {
System.out.println("Cache.get called");
return cache.get(key);
}
@Override
public boolean contains(String key) {
System.out.println("Cache.contains called");
return cache.containsKey(key);
}
@Override
public EJBTestObject remove(String key) {
System.out.println("Cache.remove called");
return cache.remove(key);
}
@Override
public void add(String key, EJBTestObject value) {
System.out.println("Cache.add called");
cache.put(key, value);
}
}
CacheBeanRemote:
@Remote
public interface CacheBeanRemote {
void add(String key, EJBTestObject value);
EJBTestObject get(String key);
boolean contains(String key);
EJBTestObject remove(String key);
}
Я заметил, что когда я не использую EJBTestClass в методе add, все работает нормально.