Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4212 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24478  24479  24480  ..  27177  27178  27179  27180  27181  27182
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2405125
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 10:15:13  profilanswer
 

Reprise du message précédent :

Kenshineuh a écrit :


 
Si ça peut te rassurer j’ai eu ma 3ème dose lundi et j’ai quasi rien eu en effet. Léger mal de crâne et un poil affaiblit mais rien qui empêche de bosser. Et j’ai pas pris de medoc.  
 
Bref, c’est possible de rien avoir. :o


 
Absolument rien eu non plus sur mon booster.
A part le mal de bras au site d'injection.

mood
Publicité
Posté le 30-12-2021 à 10:15:13  profilanswer
 

n°2405126
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 10:30:19  profilanswer
 

Hermes le Messager a écrit :

Bon, booster booked pour ce soir. :/ J'espère que je vais pas faire de réaction et que ce sera comme les deux premières fois où ça c'est pas mal passé. :/
Vu le nombre de cas et vu que nos enfants sont censés retourner à l'école dans une semaine, je pense pas que nous ayons vraiment le choix. :/ On va chopper cette merde tôt ou tard. Deal with it. :/


 
Je n'ai eu qu'une dose sur les deux car j'avais chopé le covid. Cette dose pfizer m'avait bien fait morfler mais une soirée seulement et 48h après l'injection.
 
La dose de rappel a été faite avec du Moderna, j'ai eu légèrement mal au bras pendant quelques jours (je ne pouvais pas dormir dessus) et, je ne sais pas si c'est lié, des plaques rouges au cou.


---------------
Twitter
n°2405127
DDT
Few understand
Posté le 30-12-2021 à 10:51:28  profilanswer
 

koskoz a écrit :


 je ne sais pas si c'est lié, des plaques rouges au cou.


C'est lié, j'ai eu la même chose deux fois sur les trois doses.


---------------
click clack clunka thunk
n°2405128
gatsu35
Blablaté par Harko
Posté le 30-12-2021 à 10:51:39  profilanswer
 

Hermes le Messager a écrit :

Bon, booster booked pour ce soir. :/ J'espère que je vais pas faire de réaction et que ce sera comme les deux premières fois où ça c'est pas mal passé. :/
Vu le nombre de cas et vu que nos enfants sont censés retourner à l'école dans une semaine, je pense pas que nous ayons vraiment le choix. :/ On va chopper cette merde tôt ou tard. Deal with it. :/


Des personnes de mon entourage et interrogées, la dose 1 c'était cool, la dose 2 c'est KO pour la plupart (dont moi) et la dose 3 elle pose pas de problèmes.


---------------
Blablaté par Harko
n°2405129
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:03:57  profilanswer
 

invik a écrit :


Dans le cas de l'autowiring, si le POJO est dans le contexte, si.
Autrement, il faut définir le bean à la main dans la configuration.


J'ai essayé un tas de trucs, rien de marche.
Par exemple j'ai essayé une factory method marquée @Bean

Code :
  1. @Data
  2. public class ChainSftpConfig {
  3.     private @NotBlank String uuid;
  4.     private @NotBlank String host;
  5.     private @NotNull Integer port = 22;
  6.     private @NotBlank String username;
  7.     private String password;
  8.     private @NotBlank String directory = "/";
  9.     private ChainSftpConfig(String uuid, String host, Integer port, String username, String password, String directory) {
  10.         this.uuid = uuid;
  11.         this.host = host;
  12.         this.port = port;
  13.         this.username = username;
  14.         this.password = password;
  15.         this.directory = directory;
  16.     }
  17.     @Bean
  18.     public static ChainSftpConfig createChainSftpConfig(String uuid, String host, Integer port, String username, String password, String directory) {
  19.         return new ChainSftpConfig(uuid, host, port, username, password, directory);
  20.     }


Aucun changement.

Message cité 3 fois
Message édité par el muchacho le 30-12-2021 à 11:17:26

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405130
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:06:01  profilanswer
 

Ça fait toujours rêver de voir du code Java, il n'y a pas à dire [:dawa]


---------------
Twitter
n°2405131
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:07:18  profilanswer
 

nraynaud a écrit :

\o/ j’ai le rapport qui me déclare fou \o/


[:pingouino] et euh, c'est quoi les conséquences ?
 
Et sinon, tu n'es évidemment pas fou, juste un peu excentrique je dirais.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405132
nraynaud
lol
Posté le 30-12-2021 à 11:10:05  profilanswer
 

el muchacho a écrit :


[:pingouino] et euh, c'est quoi les conséquences ?
 
Et sinon, tu n'es évidemment pas fou, juste un peu excentrique je dirais.


1) absolument rien tant que je la donne pas à la psychiatre  
 
2) FOU À LIER QUE J’TE DIS !
https://img3.super-h.fr/images/snapshot_16226500731d6ba55f12f0a9c1.jpg


---------------
trainoo.com, c'est fini
n°2405133
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:13:16  profilanswer
 

koskoz a écrit :

Ça fait toujours rêver de voir du code Java, il n'y a pas à dire [:dawa]


Après je n'ai écrit que les 8 premières lignes, toute la merde qui suit a été générée par l'IDE :o


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405134
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:15:47  profilanswer
 

nraynaud a écrit :


1) absolument rien tant que je la donne pas à la psychiatre  
 
2) FOU À LIER QUE J’TE DIS !
https://img3.super-h.fr/images/snap [...] f0a9c1.jpg


D'accord, troubles de déficit de l'attention avec hyperactivité, c'est pas exactement une nouvelle chez toi :o
Ils ont pas encore réservé la pièce capitonnée :o


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le 30-12-2021 à 11:15:47  profilanswer
 

n°2405135
Flaie
Posté le 30-12-2021 à 11:15:54  profilanswer
 

el muchacho a écrit :


J'ai essayé un tas de trucs, rien de marche.
Par exemple j'ai essayé une factory method marquée @Bean

Code :
  1. @Data
  2. public class ChainSftpConfig {
  3.     private @NotBlank String uuid;
  4.     private @NotBlank String host;
  5.     private @NotNull Integer port = 22;
  6.     private @NotBlank String username;
  7.     private String password;
  8.     private @NotBlank String directory = "/";
  9.     private ChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  10.         this.uuid = uuid;
  11.         this.host = host;
  12.         this.port = port;
  13.         this.username = username;
  14.         this.password = password;
  15.         this.directory = directory;
  16.     }
  17.     @Bean
  18.     public static ChainSftpConfig createChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  19.         return new ChainSftpConfig(uuid, host, port, username, password, directory);
  20.     }


Aucun changement.


Ta classe n'est pas annotée par @Configuration donc ça risque pas de te créer un bean meme en utilisant @Bean.
 
Dès que j'ai un peu de temps je peux te faire un exemple mais là de suite je peux pas trop squatter l'ordinateur

n°2405136
Flaie
Posté le 30-12-2021 à 11:16:45  profilanswer
 

koskoz a écrit :

Ça fait toujours rêver de voir du code Java, il n'y a pas à dire [:dawa]


 
Enfin la c'est pas très représentatif, tout le boilerplate peut être éliminé par Lombok devrait juste y'avoir la déclaration des champs :)

n°2405137
Harkonnen
Un modo pour les bannir tous
Posté le 30-12-2021 à 11:16:49  profilanswer
 

el muchacho a écrit :


J'ai essayé un tas de trucs, rien de marche.
Par exemple j'ai essayé une factory method marquée @Bean

Code :
  1. @Data
  2. public class ChainSftpConfig {
  3.     private @NotBlank String uuid;
  4.     private @NotBlank String host;
  5.     private @NotNull Integer port = 22;
  6.     private @NotBlank String username;
  7.     private String password;
  8.     private @NotBlank String directory = "/";
  9.     private ChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  10.         this.uuid = uuid;
  11.         this.host = host;
  12.         this.port = port;
  13.         this.username = username;
  14.         this.password = password;
  15.         this.directory = directory;
  16.     }
  17.     @Bean
  18.     public static ChainSftpConfig createChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  19.         return new ChainSftpConfig(uuid, host, port, username, password, directory);
  20.     }


Aucun changement.


Rajoute @Configuration au dessus de ta classe
edit: grilled


Message édité par Harkonnen le 30-12-2021 à 11:17:09

---------------
J'ai un string dans l'array (Paris Hilton)
n°2405138
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 11:18:03  profilanswer
 

el muchacho a écrit :


J'ai essayé un tas de trucs, rien de marche.
Par exemple j'ai essayé une factory method marquée @Bean

Code :
  1. @Data
  2. public class ChainSftpConfig {
  3.     private @NotBlank String uuid;
  4.     private @NotBlank String host;
  5.     private @NotNull Integer port = 22;
  6.     private @NotBlank String username;
  7.     private String password;
  8.     private @NotBlank String directory = "/";
  9.     private ChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  10.         this.uuid = uuid;
  11.         this.host = host;
  12.         this.port = port;
  13.         this.username = username;
  14.         this.password = password;
  15.         this.directory = directory;
  16.     }
  17.     @Bean
  18.     public static ChainSftpConfig createChainSftpConfig(String uuid, String host, Integer port, String cron, Integer connectionTimeout, Integer pingHostEvery, String username, String password, String directory, String assortmentFileNamePattern) {
  19.         return new ChainSftpConfig(uuid, host, port, username, password, directory);
  20.     }


Aucun changement.

 

Tu peux poster la classe de config ?
Pour moi, @Bean doit annoter la méthode qui sert à créer l'instance de l'objet dans la conf.
EDIT : grilled²


Message édité par invik le 30-12-2021 à 11:18:37
n°2405139
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:18:40  profilanswer
 

J'ai déjà fait ça, sans succès.

 

Si je mets @Component ou @Configuration, j'ai une exception:


java.lang.IllegalArgumentException: No visible constructors in class com.machintruc.model.authentication.ChainSftpConfig


Donc la factory method, ça ne marche pas (comme ça en tout cas).

Citation :

Tu peux poster la classe de config ?

 

C'est à dire ?

Message cité 1 fois
Message édité par el muchacho le 30-12-2021 à 11:23:44

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405140
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:20:18  profilanswer
 

Flaie a écrit :


 
Enfin la c'est pas très représentatif, tout le boilerplate peut être éliminé par Lombok devrait juste y'avoir la déclaration des champs :)


 
Je pensais qu'il fallait fuir Lombok ? [:neriki]


---------------
Twitter
n°2405141
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:23:18  profilanswer
 

Rah m'a meuf qui est cas contact car elle a déjeuné 1h avec une de ses collègues qui a été testée positive le lendemain :/
 
Elle devait passer le réveillon chez ses parents [:sadnoir]
 
Peu de chances qu'elle l'ait attrapé en si peu de temps je dirais mais il ne faut pas jouer avec le feu :/


---------------
Twitter
n°2405142
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:24:03  profilanswer
 

Spoiler :

Curieux de suivre l'état de sa collègue non vaccinée [:michel_cymerde:3]

Message cité 2 fois
Message édité par koskoz le 30-12-2021 à 11:25:01

---------------
Twitter
n°2405143
Flaie
Posté le 30-12-2021 à 11:24:08  profilanswer
 

koskoz a écrit :


 
Je pensais qu'il fallait fuir Lombok ? [:neriki]


Certainement pas

n°2405144
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:26:06  profilanswer
 

koskoz a écrit :


Je pensais qu'il fallait fuir Lombok ? [:neriki]


Perso, je n'ai rien contre Lombok, il fait le taf.
 
Par contre Spring IoC, je ne pige pas tout.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405145
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 11:30:23  profilanswer
 

el muchacho a écrit :

J'ai déjà fait ça, sans succès.

 

Si je mets @Component ou @Configuration, j'ai une exception:


java.lang.IllegalArgumentException: No visible constructors in class com.machintruc.model.authentication.ChainSftpConfig


Donc la factory method, ça ne marche pas (comme ça en tout cas).

Citation :

Tu peux poster la classe de config ?

 

C'est à dire ?

 

La configuration de Spring devrait être faite soit par une classe annotée par @Configuration soit, old school, un fichier XML

Message cité 1 fois
Message édité par invik le 30-12-2021 à 11:31:14
n°2405146
nucl3arfl0
Better Call Saul
Posté le 30-12-2021 à 11:31:15  profilanswer
 

koskoz a écrit :

Spoiler :

Curieux de suivre l'état de sa collègue non vaccinée [:michel_cymerde:3]



Tu nous raconteras  [:drraoultihu]

n°2405147
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:31:35  profilanswer
 

P'tain en fait je peux pas rentrer chez moi [:drraoultihu:2]  
 
Je devais rentrer le 1er mais comme elle est cas contact depuis lundi il faut que j'attende le second PCR de lundi prochain [:drraoultihu]  
 
 [:professeur raoult:2]


---------------
Twitter
n°2405148
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 11:33:51  profilanswer
 

Flaie a écrit :


Certainement pas


 
Je ne suis pas fan parceque le boilerplate est générable par les IDEs.
Et même si ça grève la taille des classes, je préfère avoir le code sous les yeux.
 
Lombok, il faut que l'IDE le supporte et le plugin Maven/Gradle qui va bien et qui génère le code boilerplate.
 
J'ai des traumas sur le code généré après les EJB2/RMI.

n°2405149
Harkonnen
Un modo pour les bannir tous
Posté le 30-12-2021 à 11:34:25  profilanswer
 

el muchacho a écrit :


Perso, je n'ai rien contre Lombok, il fait le taf.

 

Par contre Spring IoC, je ne pige pas tout.


je crois que j'ai trouvé ton souci :

 
Code :
  1. package com.machintruc.service;
  2.    import ...
  3.    @Service
  4.    @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
  5.    public class SFTPHandler implements java.lang.AutoCloseable {
  6.        @Getter
  7.        private final ChainSftpConfig sftpConfig;
  8.        @Getter
  9.        private ChannelSftp channelSftp;
  10.        @Autowired
  11.        public SFTPHandler(@NotNull ChainSftpConfig sftpConfig) {
  12.            this.sftpConfig = sftpConfig;
  13.        }
  14.        @PostConstruct
  15.        public ChannelSftp open() throws JSchException {...} // ouvre une connexion au serveur SFTP
  16.    }


Ligne 11 : tu initialises ta variable sftpConfig dans le constructeur de ton SFTPHandler, sauf que les propriétés sont injectées une fois que le bean est créé, donc après l'appel du constructeur. Si tu l'initialises dans le constructeur, il est évidemment null à cet instant.

 

Essaie de réécrire ta classe comme ceci :

 


Code :
  1. package com.machintruc.service;
  2.    import ...
  3.    @Service
  4.    @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
  5.    public class SFTPHandler implements java.lang.AutoCloseable {
  6.  
  7.       @Getter
  8.        private ChannelSftp channelSftp;
  9.  
  10.        @Autowired
  11.        private ChainSftpConfig sftpConfig
  12.  
  13.        @PostConstruct
  14.        public ChannelSftp open() throws JSchException {...} // ouvre une connexion au serveur SFTP
  15.    }
 

J'ai viré le constructeur qui est inutile vu que ton sftpConfig est @Autowired. Tu peux l'utiliser n'importe où dans ta classe.

Message cité 2 fois
Message édité par Harkonnen le 30-12-2021 à 11:36:27

---------------
J'ai un string dans l'array (Paris Hilton)
n°2405150
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 11:47:49  profilanswer
 

invik a écrit :


La configuration de Spring devrait être faite soit par une classe annotée par @Configuration soit, old school, un fichier XML


J'ai ça, je ne sais pas si c'est ce que tu veux:

Code :
  1. @Service
  2. public class SFTPConfigService {
  3.     private static final Map<String, ChainSftpConfig> chainSftpConfig = Map.of(
  4.             "id1", new ChainSftpConfig(
  5.                     "id1",
  6.                     "localhost",
  7.                     22,
  8.                     "usr1",
  9.                     "pswd1",
  10.                     "dir1" ),
  11.             "id2", new ChainSftpConfig(
  12.                     "id2",
  13.                     "127.0.0.1",
  14.                     22,
  15.                     "usr2",
  16.                     "pswd2",
  17.                     "dir2" )
  18.     );
  19.     @Bean
  20.     public Optional<ChainSftpConfig> getChainSftpConfig(String chainId) {
  21.         return Optional.ofNullable(chainSftpConfig.get(chainId));
  22.     }
  23.     @Bean
  24.     public Map<String, ChainSftpConfig> getAllChainSftpConfig() {
  25.         return chainSftpConfig;
  26.     }
  27. }


Remplacer @Service par @Configuration ne change rien.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405151
el_barbone
too old for this shit ...
Posté le 30-12-2021 à 11:49:57  profilanswer
 

koskoz a écrit :

Rah m'a meuf qui est cas contact car elle a déjeuné 1h avec une de ses collègues qui a été testée positive le lendemain :/
 
Elle devait passer le réveillon chez ses parents [:sadnoir]
 
Peu de chances qu'elle l'ait attrapé en si peu de temps je dirais mais il ne faut pas jouer avec le feu :/


Je serai pas aussi affirmatif, on parle d’une heure en face à face non masqué avec une personne qui était déjà contagieuse.


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2405152
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 11:52:27  profilanswer
 

el_barbone a écrit :


Je serai pas aussi affirmatif, on parle d’une heure en face à face non masqué avec une personne qui était déjà contagieuse.


 
Une semaine de plus chez mes parents [:wark0]
 
J'aurais vécu moins de temps à Lyon que chez mes parents cette année [:kahn21]


---------------
Twitter
n°2405153
Flaie
Posté le 30-12-2021 à 11:55:02  profilanswer
 

invik a écrit :


 
Je ne suis pas fan parceque le boilerplate est générable par les IDEs.
Et même si ça grève la taille des classes, je préfère avoir le code sous les yeux.
 
Lombok, il faut que l'IDE le supporte et le plugin Maven/Gradle qui va bien et qui génère le code boilerplate.
 
J'ai des traumas sur le code généré après les EJB2/RMI.


Du boilerplate c'est du boilerplate, ça sert à rien.
J'ai vu aucun IDE qui ne supporte pas Lombok, IntelliJ, Eclipse, NetBeans et VSCode le supportent sans soucis.
Et le plugin Maven Gradle, ben y'a rien à faire à part déclarer qu'on l'utilise.
 
Non vraiment les seuls problème qu'il peut y avoir avec Lombok sont:
1) réorganiser des params de meme type avec un constructeur généré, donc ça compile toujours mais les champs sont pas ceux que tu crois, faut juste faire gaffe, maintenant ça n'arrive vraiment pas souvent, et justement quand tu as un constructeur avec beaucoup de paramètres ça sent pas bon
2) Utiliser @Data sur des @Entity sans savoir que equals/hashcode doit se faire uniquement sur ton ID et non le reste de la classe.
 
Lombok rien que pour @Value/@With, @Log/Slf4J, @Builder et @RequiredArgsConstructor c'est du pain béni pour un projet Java.

n°2405154
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 11:56:41  profilanswer
 

el muchacho a écrit :


J'ai ça, je ne sais pas si c'est ce que tu veux:

Code :
  1. @Service
  2. public class SFTPConfigService {
  3.     private static final Map<String, ChainSftpConfig> chainSftpConfig = Map.of(
  4.             "id1", new ChainSftpConfig(
  5.                     "id1",
  6.                     "localhost",
  7.                     22,
  8.                     "usr1",
  9.                     "pswd1",
  10.                     "dir1" ),
  11.             "id2", new ChainSftpConfig(
  12.                     "id2",
  13.                     "127.0.0.1",
  14.                     22,
  15.                     "usr2",
  16.                     "pswd2",
  17.                     "dir2" )
  18.     );
  19.     @Bean
  20.     public Optional<ChainSftpConfig> getChainSftpConfig(String chainId) {
  21.         return Optional.ofNullable(chainSftpConfig.get(chainId));
  22.     }
  23.     @Bean
  24.     public Map<String, ChainSftpConfig> getAllChainSftpConfig() {
  25.         return chainSftpConfig;
  26.     }
  27. }


Remplacer @Service par @Configuration ne change rien.


 
Elle est bizarre la conf.
Dans Spring IoC avec le scope Singleton (typiquement sur un service comme celui-ci et qui est celui par défaut), on ne peut pas avoir plusieurs instances de la même classe dans la registry. Sauf à leur donner des noms différents.
Essaye la suggestion d'Harko, ça me paraît bien.

n°2405155
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 12:00:26  profilanswer
 

Flaie a écrit :


Du boilerplate c'est du boilerplate, ça sert à rien.
J'ai vu aucun IDE qui ne supporte pas Lombok, IntelliJ, Eclipse, NetBeans et VSCode le supportent sans soucis.
Et le plugin Maven Gradle, ben y'a rien à faire à part déclarer qu'on l'utilise.
 
Non vraiment les seuls problème qu'il peut y avoir avec Lombok sont:
1) réorganiser des params de meme type avec un constructeur généré, donc ça compile toujours mais les champs sont pas ceux que tu crois, faut juste faire gaffe, maintenant ça n'arrive vraiment pas souvent, et justement quand tu as un constructeur avec beaucoup de paramètres ça sent pas bon
2) Utiliser @Data sur des @Entity sans savoir que equals/hashcode doit se faire uniquement sur ton ID et non le reste de la classe.
 
Lombok rien que pour @Value/@With, @Log/Slf4J, @Builder et @RequiredArgsConstructor c'est du pain béni pour un projet Java.


 
Avec les dernières versions de Java, y a quasiment rien qui ait encore vraiment un intérêt.
Et pour @Log/Slf4J, j'ai un live template IJ, ça me coûté autant.
 
Pour moi, Lombok c'est le cran de trop dans la magie.
Mais je comprends l'attrait.

n°2405156
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 12:01:49  profilanswer
 

Harkonnen a écrit :


je crois que j'ai trouvé ton souci :
 

Code :
  1. package com.machintruc.service;
  2.    import ...
  3.    @Service
  4.    @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
  5.    public class SFTPHandler implements java.lang.AutoCloseable {
  6.        @Getter
  7.        private final ChainSftpConfig sftpConfig;
  8.        @Getter
  9.        private ChannelSftp channelSftp;
  10.        @Autowired
  11.        public SFTPHandler(@NotNull ChainSftpConfig sftpConfig) {
  12.            this.sftpConfig = sftpConfig;
  13.        }
  14.        @PostConstruct
  15.        public ChannelSftp open() throws JSchException {...} // ouvre une connexion au serveur SFTP
  16.    }


Ligne 11 : tu initialises ta variable sftpConfig dans le constructeur de ton SFTPHandler, sauf que les propriétés sont injectées une fois que le bean est créé, donc après l'appel du constructeur. Si tu l'initialises dans le constructeur, il est évidemment null à cet instant.
 
Essaie de réécrire ta classe comme ceci :
 
 

Code :
  1. package com.machintruc.service;
  2.    import ...
  3.    @Service
  4.    @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
  5.    public class SFTPHandler implements java.lang.AutoCloseable {
  6.  
  7.       @Getter
  8.        private ChannelSftp channelSftp;
  9.  
  10.        @Autowired
  11.        private ChainSftpConfig sftpConfig
  12.  
  13.        @PostConstruct
  14.        public ChannelSftp open() throws JSchException {...} // ouvre une connexion au serveur SFTP
  15.    }


 
J'ai viré le constructeur qui est inutile vu que ton sftpConfig est @Autowired. Tu peux l'utiliser n'importe où dans ta classe.


Apparemment, il n'est pas recommandé de mettre Autowired sur les propriétés membres de classe, il vaut mieux le mettre sur le constructeur, afin d'empêcher un utilisateur de faire un new, et aussi parce que ça évite l'usage de la réflexion qui ralentit un peu les démarrages.
 
Mais si je fais ça, j'ai une erreur de compilation "sftpConfig might not be initialized", mais ça donne un indice que ChainSftpConfig doit être managé par Spring d'une manière ou d'une autre, donc annoté @Configuration ou @Component, je pense.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405157
invik
J'ai pas ma manette :o
Posté le 30-12-2021 à 12:10:49  profilanswer
 

el muchacho a écrit :


Apparemment, il n'est pas recommandé de mettre Autowired sur les propriétés membres de classe, il vaut mieux le mettre sur le constructeur, afin d'empêcher un utilisateur de faire un new, et aussi parce que ça évite l'usage de la réflexion qui ralentit un peu les démarrages.
 
Mais si je fais ça, j'ai une erreur de compilation "sftpConfig might not be initialized", mais ça donne un indice que ChainSftpConfig doit être managé par Spring d'une manière ou d'une autre, donc annoté @Configuration ou @Component, je pense.


 
L'inconvénient d'@Autowired les membres d'une classe, c'est que c'est moins simple de mocker.
Effectivement, soit tu passes manuellement un ChainSftpConfig manuellement dans une classe de configuration:

Code :
  1. @Configuration
  2. public class SftpConfiguration {
  3.     @Bean
  4.     public SFTPHandler sftpHandler() {
  5.        ChainSftpConfig sftpConfig = ...
  6.        return new SFTPHandler(sftpConfig);
  7.     }
  8. }


 
Dans ce cas, il faut virer l'annotation @Service de la classe SFTPHandler pour éviter que Spring instancie avec le scan package et avec le bean créé manuellement.

n°2405158
Harkonnen
Un modo pour les bannir tous
Posté le 30-12-2021 à 12:14:01  profilanswer
 

el muchacho a écrit :


Apparemment, il n'est pas recommandé de mettre Autowired sur les propriétés membres de classe, il vaut mieux le mettre sur le constructeur, afin d'empêcher un utilisateur de faire un new, et aussi parce que ça évite l'usage de la réflexion qui ralentit un peu les démarrages.


Oui, j'ai fait un truc à l'arrache pour t'aider à cerner ton souci, mais normalement j'aurais du écrire ça :

 
Code :
  1. ...
  2. private final ChainSftpConfig sftpConfig
  3. ...
  4.  
  5. public SFTPHandler(ChainSftpConfig sftpConfig) {
  6.   this.sftpConfig = sftpConfig;
  7. }


En fait ton souci, c'est juste que ton constructeur n'a pas besoin d'@Autowired :D

 
el muchacho a écrit :

 

Mais si je fais ça, j'ai une erreur de compilation "sftpConfig might not be initialized", mais ça donne un indice que ChainSftpConfig doit être managé par Spring d'une manière ou d'une autre, donc annoté @Configuration ou @Component, je pense.

 

Ben bien sur qu'il est managé, ça fait 2 jours qu'on te dit que ta classe de config doit être annotée [:kiki]


Message édité par Harkonnen le 30-12-2021 à 12:14:40

---------------
J'ai un string dans l'array (Paris Hilton)
n°2405159
koskoz
They see me trollin they hatin
Posté le 30-12-2021 à 13:01:59  profilanswer
 

Bordel c'est la journée : mon hôte pour nouvel an qui est cas contact [:wark0]


---------------
Twitter
n°2405160
R3g
fonctionnaire certifié ITIL
Posté le 30-12-2021 à 13:05:47  profilanswer
 

J'ai réussi à changer l'anode de mon chauffe-eau \o/
ca fuit pas \o/
En fait c'était pas la peine l'autre n'était qu'à moitié consommée /o\


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2405161
el muchach​o
Comfortably Numb
Posté le 30-12-2021 à 13:06:22  profilanswer
 

koskoz a écrit :

Bordel c'est la journée : mon hôte pour nouvel an qui est cas contact [:wark0]


Ca s'étend à vitesse grand V. Plusieurs confirmés Omicron dans la famille.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2405162
el_barbone
too old for this shit ...
Posté le 30-12-2021 à 13:31:57  profilanswer
 

el muchacho a écrit :


Ca s'étend à vitesse grand V. Plusieurs confirmés Omicron dans la famille.


Oui, on a de plus en plus de positifs et cas contact dans notre entourage (pro et perso).
8 positifs sur 10 jours glissants au taf de ma femme (sur une boîte de 30/40 personnes).
Elle passe en tt dès lundi (c’était jamais arrivé depuis le début de la pandémie).


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2405163
nucl3arfl0
Better Call Saul
Posté le 30-12-2021 à 13:33:21  profilanswer
 

Comme je disais, il ne s'agit plus de savoir si on va y passer mais quand.

n°2405164
Kenshineuh
Posté le 30-12-2021 à 13:48:18  profilanswer
 

Suffit de faire les gestes barrières. Ou de ne plus voir personne. :o

n°2405165
masklinn
í dag viðrar vel til loftárása
Posté le 30-12-2021 à 13:48:31  profilanswer
 

Pour les “papas”: https://locorico.fr/produit/10-adaptateurs-brio-duplo/

nraynaud a écrit :


1) absolument rien tant que je la donne pas à la psychiatre  
 
2) FOU À LIER QUE J’TE DIS !
https://img3.super-h.fr/images/snap [...] f0a9c1.jpg


[:ddr555]

koskoz a écrit :

Spoiler :

Curieux de suivre l'état de sa collègue non vaccinée [:michel_cymerde:3]



koskoz a écrit :

P'tain en fait je peux pas rentrer chez moi [:drraoultihu:2]  
 
Je devais rentrer le 1er mais comme elle est cas contact depuis lundi il faut que j'attende le second PCR de lundi prochain [:drraoultihu]  
 
 [:professeur raoult:2]


koskoz a écrit :

Bordel c'est la journée : mon hôte pour nouvel an qui est cas contact [:wark0]


el_barbone a écrit :


Oui, on a de plus en plus de positifs et cas contact dans notre entourage (pro et perso).
8 positifs sur 10 jours glissants au taf de ma femme (sur une boîte de 30/40 personnes).
Elle passe en tt dès lundi (c’était jamais arrivé depuis le début de la pandémie).


 
[:totoz]
 

Kenshineuh a écrit :

Suffit de faire les gestes barrières. Ou de ne plus voir personne. :o


Mai wai  [:alexfly]

Message cité 1 fois
Message édité par masklinn le 30-12-2021 à 13:49:15

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24478  24479  24480  ..  27177  27178  27179  27180  27181  27182

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)