Ich möchte meinen Krieg Archiv auf JBoss einsetzen, aber ich habe diesen Fehler:EJB delpoy Fehler
11:26:08,539 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."lab4-war.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."lab4-war.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "lab4-war.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_65]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_65]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014544: No EJB found with interface of type 'pro.alexfly.lab4.dao.UserDAO' for binding pro.alexfly.lab4.controller.AdminPanelController/userDAO
at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:90)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:215)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:184)
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:152)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:145)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
... 5 more
ich versuche, es zu Google und es auf den gleichen Fehler von Internet-Lösungen zu beheben, aber ich konnte nicht beheben es. Ich bekomme diesen Fehler mehr und mehr.
Meine DAO-Schnittstelle:
/**
* @Author is flystyle
* Created on 05.06.16.
*/
public interface IRequestDAO {
Integer createRequest(final Request source);
List<Request> list(final Date date);
List<Request> list();
List<Request> list(final Station begin, final Station end);
Request getRequestById (final int id);
List<Request> getRequestsByUserId (final int userId);
void removeRequestById(final int id);
void removeRequestByUser(final User user);
@Deprecated
void removeAllRequests();
}
Meine UserDAO Klasse:
@Stateless // look I have this annootation!
public class UserDAO implements IUserDAO {
private SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
public User verifyEnter(String name, String pass) {
Session session = sessionFactory.openSession();
Transaction tr = null;
tr = session.beginTransaction();
String sql = "SELECT * FROM rails_user WHERE user_name = :an AND user_pass = :ap";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(User.class);
query.setParameter("an", name);
query.setParameter("ap", pass);
User res = (User) query.uniqueResult();
tr.commit();
session.close();
return res;
}
public Admin adminEnter(String name, String pass) {
Session session = sessionFactory.openSession();
Transaction tr = null;
tr = session.beginTransaction();
String sql = "SELECT * FROM rails_admin WHERE admin_name = :an AND admin_pass = :ap";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Admin.class);
query.setParameter("an", name);
query.setParameter("ap", pass);
Admin res = (Admin) query.uniqueResult();
tr.commit();
session.close();
return res;
}
public Integer register(String name, String surname, String pass) {
Session session = sessionFactory.openSession();
Transaction transaction = null;
transaction = session.beginTransaction();
User user = new User();
user.setName(name);
user.setSurname(surname);
user.setPass(pass);
Integer id = (Integer) session.save(user);
transaction.commit();
session.close();
return id;
}
public List getAllUsers() {
Session session = sessionFactory.openSession();
Transaction tr = null;
tr = session.beginTransaction();
String sql = "SELECT * FROM rails_user";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(User.class);
List res = query.list();
tr.commit();
session.close();
return res;
}
public User getUserById(int id) {
Session session = sessionFactory.openSession();
Transaction tr = null;
tr = session.beginTransaction();
String sql = "SELECT * FROM rails_user WHERE user_id = :id";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(User.class);
query.setParameter("id", id);
User res = (User) query.uniqueResult();
tr.commit();
session.close();
return res;
}
public void banUser(int id) {
Session session = sessionFactory.openSession();
SQLQuery q = session.createSQLQuery("DELETE FROM rails_user WHERE request_id = :id");
q.addEntity(User.class);
q.setParameter("id", id);
q.executeUpdate();
}
public boolean verifyAdminEnter(String name, String pass) {
Session session = sessionFactory.openSession();
Transaction tr = null;
tr = session.beginTransaction();
String sql = "SELECT * FROM rails_admin WHERE admin_name = :an AND admin_pass = :ap";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Admin.class);
query.setParameter("an", name);
query.setParameter("ap", pass);
Admin res = (Admin) query.uniqueResult();
tr.commit();
session.close();
if (res.getName().equals(name) && res.getPass().equals(pass))
return true;
return false;
}
}
Klasse My Admin Controller:
@ManagedBean(name = "rails_admin_panel")
@SessionScoped
public class AdminPanelController implements AdminAction{
private List<User> allUsers;
private List<Request> allRequests;
@EJB
private UserDAO userDAO = new UserDAO();
@EJB
private RequestDAO requestDAO = new RequestDAO();
public void viewAllUsers() {
allUsers = userDAO.getAllUsers();
}
public void viewAllRequests() {
allRequests = requestDAO.list();
}
public void deleteRequest(int id) {
requestDAO.removeRequestById(id);
}
public void deleteUser(int id) {
userDAO.banUser(id);
}
public List<Request> getAllRequests() {
return allRequests;
}
public List<User> getAllUsers() {
return allUsers;
}
}
Können Sie mir helfen?
P.S. War Packaging
scheint wie einige Ihrer abhängigen Bibliotheken auf dem Server fehlen. Stellen Sie sicher, dass sie für Ihren ejb verfügbar sind, wenn der Server ihn startet. – qwerty
siehe P. S., bitte –