Bonjour,

Je reprends un ancien projet et me rends compte que toutes mes annotations @ManagedBeans sont dépréciées
Le projet fonctionne toujours mais je voudrais le mettre à jour.
En regardant des tutos, je vois qu'il faut remplacer les Backing Beans par des CDI avec l'annotation @Named

Mon environnement
IDE : Eclipse 4.9.0, OS : Ubuntu18, serveur d'app : wildfly14, base : Postgres10 , connecteur : EclipseLink 2.5

J'ai modifié une des classes pour tester
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//@ManagedBean (name="mBPresent")
@Named
@ViewScoped
public class MBPresent  extends ManageCookies {
ainsi que beans.xml (modif de bean-discovery-mode="annotated" à bean-discovery-mode="all")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
       version="1.1" bean-discovery-mode="all">
</beans>
Je peux déployer mon .war mais à la première tentative de connexion à ma base (la page de connexion à mon appli s'affiche) , j'ai un message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
13:07:48,011 INFO  [org.eclipse.persistence] (default task-1) EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
13:07:48,014 INFO  [org.eclipse.persistence.connection] (default task-1) connecting(DatabaseLogin(
	platform=>PostgreSQLPlatform
	user name=> ""
	connector=>JNDIConnector datasource name=>null
))
13:07:48,015 INFO  [org.eclipse.persistence.connection] (default task-1) Connected: jdbc:postgresql://localhost:5432/vquest
	User: vquest
	Database: PostgreSQL  Version: 10.6 (Ubuntu 10.6-1.pgdg18.04+1)
	Driver: PostgreSQL JDBC Driver  Version: 42.2.5
13:07:48,016 INFO  [org.eclipse.persistence.connection] (default task-1) connecting(DatabaseLogin(
	platform=>PostgreSQLPlatform
	user name=> ""
	connector=>JNDIConnector datasource name=>null
))
13:07:48,016 INFO  [org.eclipse.persistence.connection] (default task-1) Connected: jdbc:postgresql://localhost:5432/vquest
	User: vquest
	Database: PostgreSQL  Version: 10.6 (Ubuntu 10.6-1.pgdg18.04+1)
	Driver: PostgreSQL JDBC Driver  Version: 42.2.5
13:07:48,089 INFO  [org.eclipse.persistence.connection] (default task-1) vfs:/content/VQuest.war/WEB-INF/classes/_vitalityquest login successful
13:07:48,152 ERROR [stderr] (default task-1) javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.
En recompilant avec un Backing Bean plutôt qu'un CDI, tout se passe bien et j'accède à toute ma base sans problème.

Eclipse ne voit aucun problème : la connexion à la base se fait (Properties/JPA/Connection) ; au niveau de Wildfly, la datasource est reconnue et valide

La ligne de ma classe qui pose souci est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
vquser=ejbuser.selectUserByIdent(identifier);
Je ne vois pas où se situe le problème.
J'utilise des EJB mais le fait de passer par des @Inject ne change rien

Merci de votre aide