ошибка абстрактного класса в EJB - PullRequest
0 голосов
/ 06 мая 2018

Я хочу спросить, как решить проблему в моем 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, все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...