IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Comment Définir Le Base Name Internationalisation Java


Sujet :

JSF Java

  1. #1
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut Comment Définir Le Base Name Internationalisation Java
    Bonjour je voudrais internationaliser mon application en utilisant la base de données.
    Mais j'ai une erreur sur la "Base Name" de la ressource Bundle.Bref je ne sais pas comment le définir sans utiliser les fichiers properties.

    voici mon entite pour stocker les messages
    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
    @Entity
    @Table(uniqueConstraints ={@UniqueConstraint(name = "cleUnique",columnNames = {"cle","langue"})} )
    @NamedQueries({@NamedQuery(name =Messages.BY_LANGUE,query = "SELECT m.cle,m.name FROM Messages m WHERE m.langue=:langue")})
    public class Messages implements Serializable {
        public static final String BY_LANGUE="Messages.BY_LANGUE";
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
     
        private String cle;
        private String name;
        private String langue;
     
    //getter setter
    }
    Voici ma classe pour recuperer la Resource Bundle
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    @Component
    public class CustomResourceBundle extends ResourceBundle {
     
        protected static final String BASE_NAME = "Messages"; 
        protected static final Control DB_CONTROL = new DBControl();
     
        private Map<String, String> messages;
     
        public CustomResourceBundle() {
            setParent(ResourceBundle.getBundle(BASE_NAME,
                    FacesContext.getCurrentInstance().getViewRoot().getLocale(), DB_CONTROL));
        }
     
        protected CustomResourceBundle(Map<String, String> messages) {
            this.messages = messages;
        }
     
        @Override
        protected Object handleGetObject(String key) {
            return messages != null ? messages.get(key) : parent.getObject(key);
        }
     
        @Override
        public Enumeration<String> getKeys() {
            return messages != null ? Collections.enumeration(messages.keySet()) : parent.getKeys();
        }
     
        protected static class DBControl extends Control {
     
            @Inject
            IMessages messageServices;
     
            @Override
            public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)
                    throws IllegalAccessException, InstantiationException, IOException {
                String language = locale.getLanguage();
                Map<String, String> messages = messageServices.getMessagesByName(language); // Do your JPA thing. The baseName can be used as @NamedQuery name.
                return new CustomResourceBundle(messages);
            }
     
        }
    }
    A note que c;est la variable BASE_NAME qui me pose problème.
    enfin voici mon fichier de configurationfaces-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <resource-bundle>
               <base-name>utils.CustomResourceBundle</base-name>
                <var>msg</var>
            </resource-bundle>
    Voici enfin l'exception
    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
    Caused by: java.util.MissingResourceException: Can't find bundle for base name Messages, locale fr_FR
    	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.getBundle(ResourceBundle.java:841) ~[na:1.7.0_21]
    	at utils.CustomResourceBundle.<init>(CustomResourceBundle.java:37) ~[CustomResourceBundle.class:na]
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_21]
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_21]
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_21]
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:525) ~[na:1.7.0_21]
    	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ~[spring-beans-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    	... 59 common frames omitted
    Caused by: java.lang.NullPointerException: null
    	at utils.CustomResourceBundle$DBControl.newBundle(CustomResourceBundle.java:64) ~[CustomResourceBundle$DBControl.class:na]
    	at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1436) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1400) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1354) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1354) ~[na:1.7.0_21]
    	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1296) ~[na:1.7.0_21]
    Comment faut t-il definir la variable BASE_NAME?
    Merci d'avance
    Ce qui ne me tue pas me rend plus fort.

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    il te faut creer un fichier du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class CustomResourceBundle_fr extends ListResourceBundle
    {
      @Override
    	protected Object[][] getContents() {
    	    return contents;
    	}
     
            // ceci est juste un exemple, car ceci devrai provenir de ta base de données
    	private Object[][] contents = {
    	    {"test", "Tester"}
    	};
    }

    Eric

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    il n'est pas obligé de créer une sous classe par langue, le default suffit. Par contre, il suffit de lire l'erreur. Le nom est correct mais


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.lang.NullPointerException: null
    	at utils.CustomResourceBundle$DBControl.newBundle(CustomResourceBundle.java:64) ~[CustomResourceBundle$DBControl.class:na]
    ton code newBundle déclenche une exception. messageServices est null. Un bundle ce n'est pas un component, le @component ne fait rien dessus.

  4. #4
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    ah oui, j´avais pas vu cela,
    ton est null

    Eric

  5. #5
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    il n'est pas obligé de créer une sous classe par langue, le default suffit. Par contre, il suffit de lire l'erreur. Le nom est correct mais


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.lang.NullPointerException: null
    	at utils.CustomResourceBundle$DBControl.newBundle(CustomResourceBundle.java:64) ~[CustomResourceBundle$DBControl.class:na]
    ton code newBundle déclenche une exception. messageServices est null. Un bundle ce n'est pas un component, le @component ne fait rien dessus.
    Merci j'avais mal mis le @component cette fois je l'ai mis sur la classe DBControl et cela est passe
    Sauf cette fois j'arrive a deployer l'application mais lors de l'ouverture de la page d'acceuil voici
    le nouveau message d'erreur il ne lit pas le base Name du fichier faces-context
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    May 27, 2015 2:00:33 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
    SEVERE: Error Rendering View[/connection.xhtml]
    java.util.MissingResourceException: Can't find bundle for base name utils.CustomResourceBundle, locale fr
    	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
    	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
    	at java.util.ResourceBundle.getBundle(ResourceBundle.java:1028)
    	at com.sun.faces.application.ApplicationResourceBundle.getResourceBundle(ApplicationResourceBundle.java:124)
    	at com.sun.faces.application.ApplicationAssociate.getResourceBundle(ApplicationAssociate.java:796)
    	at com.sun.faces.application.ApplicationImpl.getResourceBundle(ApplicationImpl.java:719)
    	at org.jboss.weld.environment.servlet.jsf.ForwardingApplication.getResourceBundle(ForwardingApplication.java:246)
    	at com.sun.faces.el.FacesResourceBundleELResolver.getValue(FacesResourceBundleELResolver.java:83)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
    	at org.apache.el.parser.AstValue.getValue(AstValue.java:160)
    	at org.apache.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:43)
    	at org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:49)
    	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
    	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:72)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:722)
     
    May 27, 2015 2:00:33 PM com.sun.faces.context.ExceptionHandlerImpl log
    1100: JSF1073 : java.util.MissingResourceException intercepté durant le traitement de RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=Can't find bundle for base name utils.CustomResourceBundle, locale fr
    May 27, 2015 2:00:33 PM com.sun.faces.context.ExceptionHandlerImpl log
    1100: Can't find bundle for base name utils.CustomResourceBundle, locale fr
    java.util.MissingResourceException: Can't find bundle for base name utils.CustomResourceBundle, locale fr
    	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
    	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
    	at java.util.ResourceBundle.getBundle(ResourceBundle.java:1028)
    	at com.sun.faces.application.ApplicationResourceBundle.getResourceBundle(ApplicationResourceBundle.java:124)
    	at com.sun.faces.application.ApplicationAssociate.getResourceBundle(ApplicationAssociate.java:796)
    	at com.sun.faces.application.ApplicationImpl.getResourceBundle(ApplicationImpl.java:719)
    	at org.jboss.weld.environment.servlet.jsf.ForwardingApplication.getResourceBundle(ForwardingApplication.java:246)
    	at com.sun.faces.el.FacesResourceBundleELResolver.getValue(FacesResourceBundleELResolver.java:83)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
    	at org.apache.el.parser.AstValue.getValue(AstValue.java:160)
    	at org.apache.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:43)
    	at org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:49)
    	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
    	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:72)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:722)
    Ce qui ne me tue pas me rend plus fort.

  6. #6
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    Je crois que je me suis trompé.Mon service est toujours null ce qui permet de ne pas charger le Bundle.
    Comment pourrais je injecter mon service ou bien mon Unite de persistance(Entity manager).
    Bref vous avez constaté que j'utilise spring+jsf
    Ce qui ne me tue pas me rend plus fort.

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Avec spring tu peux utiliser @Configurable et spring aop pour injecter des valeurs dans des classes qui ne sont pas instanciées par spring ou jsf directement. Ou alors tu peux créer un singleton, qui est accessible de manière statique.

  8. #8
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    J'ai finalement opté pour un Singleton a acces statique.
    Merci à tous
    Ce qui ne me tue pas me rend plus fort.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/08/2014, 00h26
  2. Réponses: 2
    Dernier message: 28/07/2014, 13h33
  3. Comment définir une base de données de cotations boursières?
    Par Pierre8r dans le forum Général Java
    Réponses: 1
    Dernier message: 12/01/2010, 16h52
  4. Réponses: 7
    Dernier message: 31/10/2008, 17h13
  5. Comment utiliser une base DB2 via java?
    Par ::Fistons dans le forum JDBC
    Réponses: 3
    Dernier message: 29/05/2007, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo