Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    ::1
    il 2016-09-27 13:59:13.0 alle 2016-09-27 13:59:13.0
    Trollate totali: 12321
    giambina
    Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
    Che fare?Piagnina
    Young professional woman and busy mom.
    • Avatar
      ☺
      Scritto da
      Wakko Warner
      Wakkus Horribilis
      il 2016-09-27 14:01:34.0 alle 2016-09-27 14:01:34.0
      Trollate totali: 6779
      Re: giambina
      Scritto da: ::1
      > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
      > Che fare?Piagnina

      Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!
      Gli Svizzeri non sono tutti ricchi - Mattia
      • Avatar
        ☺
        Scritto da
        il 2016-09-27 14:10:49.0 alle 2016-09-27 14:10:49.0
        Trollate totali: 42885
        Re: giambina
        Scritto da: Wakko Warner
        > Scritto da: ::1
        > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
        > > Che fare?Piagnina
        >
        > Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!

        Websphere non e' Java, tamburo A bocca storta !
        `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
        • Avatar
          ☺
          Scritto da
          Wakko Warner
          Wakkus Horribilis
          il 2016-09-27 14:13:18.0 alle 2016-09-27 14:13:18.0
          Trollate totali: 6779
          Re: giambina
          Scritto da: Giambo
          > Scritto da: Wakko Warner
          > > Scritto da: ::1
          > > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
          > > > Che fare?Piagnina
          > >
          > > Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!
          >
          > Websphere non e' Java, tamburo A bocca storta !

          Se usasse C# non avrebbe bisogno di WebSphere. GeekIdea!
          Gli Svizzeri non sono tutti ricchi - Mattia
          • Avatar
            ☺
            Scritto da
            il 2016-09-27 14:16:55.0 alle 2016-09-27 14:16:55.0
            Trollate totali: 42885
            Re: giambina
            Scritto da: Wakko Warner

            > > > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
            > > > > Che fare?Piagnina
            > > >
            > > > Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!
            > >
            > > Websphere non e' Java, tamburo A bocca storta !
            >
            > Se usasse C# non avrebbe bisogno di WebSphere. GeekIdea!

            Nessuno ha bisogno di Websphere, solo quelli brainwashati da IBM Perplesso
            `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
            • Avatar
              ☺
              Scritto da
              Wakko Warner
              Wakkus Horribilis
              il 2016-09-27 14:20:27.0 alle 2016-09-27 14:20:27.0
              Trollate totali: 6779
              Re: giambina
              Scritto da: Giambo
              > Scritto da: Wakko Warner
              >
              > > > > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
              > > > > > Che fare?Piagnina
              > > > >
              > > > > Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!
              > > >
              > > > Websphere non e' Java, tamburo A bocca storta !
              > >
              > > Se usasse C# non avrebbe bisogno di WebSphere. GeekIdea!
              >
              > Nessuno ha bisogno di Websphere, solo quelli brainwashati da IBM Perplesso

              Ciò non toglie che se usasse C# ora non avrebbe questi problemi. GeekIdea!
              Gli Svizzeri non sono tutti ricchi - Mattia
              • Avatar
                ☺
                Scritto da
                il 2016-09-27 14:40:15.0 alle 2016-09-27 14:40:15.0
                Trollate totali: 42885
                Re: giambina
                Scritto da: Wakko Warner

                > > > > > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
                > > > > > > Che fare?Piagnina
                > > > > >
                > > > > > Passa a C# dove non ti cambiano le cose sotto i piedi! GeekIdea!
                > > > >
                > > > > Websphere non e' Java, tamburo A bocca storta !
                > > >
                > > > Se usasse C# non avrebbe bisogno di WebSphere. GeekIdea!
                > >
                > > Nessuno ha bisogno di Websphere, solo quelli brainwashati da IBM Perplesso
                >
                > Ciò non toglie che se usasse C# ora non avrebbe questi problemi. GeekIdea!

                Ne avrebbe di peggiori, per esempio cercarsi un lavoro Triste ...
                `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
    • Avatar
      ☺
      Scritto da
      il 2016-09-27 14:06:59.0 alle 2016-09-27 14:06:59.0
      Trollate totali: 42885
      Re: giambina
      Scritto da: ::1
      > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
      > Che fare?Piagnina

      Da quando ho abbandonato l'UBS, ho bevuto tanto alcool col preciso intento di dimenticare WebSphere.
      Pero' la tua situazione non mi pare particolare, sicuro che su stackoverflow qualcuno non ha avuto un problema simile ?
      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
      • Avatar
        ☺
        Scritto da
        ::1
        il 2016-09-27 19:01:10.0 alle 2016-09-27 19:01:10.0
        Trollate totali: 12321
        Re: giambina
        Scritto da: Giambo
        > Scritto da: ::1
        > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
        > > Che fare?Piagnina
        >
        > Da quando ho abbandonato l'UBS, ho bevuto tanto alcool col preciso intento di dimenticare WebSphere.
        > Pero' la tua situazione non mi pare particolare, sicuro che su stackoverflow qualcuno non ha avuto un problema simile ?

        Non trovo niente, o forse sbaglio keyword. L'alternativa è copiare in lib/ext il jar delle api, ma se hanno architettato diversamente i classloader non vorrei spaccare qualcos'altro.
        Young professional woman and busy mom.
        • Avatar
          ☺
          Scritto da
          il 2016-09-27 19:19:35.0 alle 2016-09-27 19:19:35.0
          Trollate totali: 42885
          Re: giambina
          Scritto da: ::1

          > > Pero' la tua situazione non mi pare particolare, sicuro che su stackoverflow qualcuno non ha avuto un problema simile ?
          >
          > Non trovo niente, o forse sbaglio keyword.

          O forse quel che vuoi fare e' sbagliato ...

          > L'alternativa è copiare in lib/ext il jar delle api, ma se hanno architettato diversamente i classloader non vorrei spaccare qualcos'altro.

          Oh, le gioie e i dolori del classloading con Websphere Sorride

          **Modificato dall'autore il 27.09.2016 19:19**
          `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            ☺
            Scritto da
            ::1
            il 2016-09-27 19:45:34.0 alle 2016-09-27 19:45:34.0
            Trollate totali: 12321
            Re: giambina
            Scritto da: Giambo
            > Scritto da: ::1
            >
            > > > Pero' la tua situazione non mi pare particolare, sicuro che su stackoverflow qualcuno non ha avuto un problema simile ?
            > >
            > > Non trovo niente, o forse sbaglio keyword.
            >
            > O forse quel che vuoi fare e' sbagliato ...
            >
            > > L'alternativa è copiare in lib/ext il jar delle api, ma se hanno architettato diversamente i classloader non vorrei spaccare qualcos'altro.
            >
            > Oh, le gioie e i dolori del classloading con Websphere Sorride

            Quello che voglio fare è giusterrimo: è un tool che usiamo in ambiente di test per verificare come viene utilizzata la sessione nelle applicazioni (e funziona appunto iniettando un getSession custom sull'implementazione della servlet di websphere).
            Non ci si può fidare delle scimmie ammaestrate e le code review non esistono.
            Young professional woman and busy mom.
            • Avatar
              ☺
              Scritto da
              il 2016-09-27 20:24:59.0 alle 2016-09-27 20:24:59.0
              Trollate totali: 42885
              Re: giambina
              Scritto da: ::1

              > Quello che voglio fare è giusterrimo: è un tool che usiamo in ambiente di test per verificare come viene utilizzata la sessione nelle applicazioni (e funziona appunto iniettando un getSession custom sull'implementazione della servlet di websphere).

              Il tuo e' un nobile intento, ma pare che i droidi dell'IBM la pensino in maniera diversa ...
              Non e' che offrono gia' loro qualcosa sotto forma di JMX ?

              Pero' dai e' strano quel che mi hai detto, ci deve essere un modo o una ragione per venirne a capo !

              > Non ci si può fidare delle scimmie ammaestrate e le code review non esistono.

              Da quando abbiamo introdotto github con le pull-requests, la qualita' del codice e' migliorata tantissimo.
              Niente secca di piu' uno sviluppatore di sentirsi criticare il proprio codice Sorride
              `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
              • Avatar
                ☺
                Scritto da
                ::1
                il 2016-09-28 08:50:58.0 alle 2016-09-28 08:50:58.0
                Trollate totali: 12321
                Re: giambina
                Allora, ho infilato in una servlet questo pezzo di codice:
                	public static void findClass(String name) {
                		System.err.println("findClass(" + name + ")");
                		LinkedList<ClassLoader> classloaders = getClassLoaders();
                		for (ClassLoader cl : classloaders) {
                			try {
                				System.err.println("CLASS LOADER: "+cl);
                				cl.loadClass(name);
                				System.err.println(">>>> TROVATA");
                			} catch (ClassNotFoundException e) {
                				System.err.println(">>>> NON TROVATA");
                			}
                		}
                	}
                
                	private static LinkedList<ClassLoader> getClassLoaders() {
                		LinkedList<ClassLoader> classloaders = new LinkedList<ClassLoader>();
                		ClassLoader current = Thread.currentThread().getContextClassLoader();
                		do {
                			classloaders.addFirst(current);
                			current = current.getParent();
                		} while (current != null);
                		return classloaders;
                	}
                

                e richiamato poi nel corpo del doGet
                findClass("javax.servlet.http.HttpSession")


                Il risultato:
                [28/09/16 8.46.05:274 CEST] 00000016 SystemErr     R findClass(javax.servlet.http.HttpSession)
                [28/09/16 8.46.05:274 CEST] 00000016 SystemErr     R CLASS LOADER: sun.misc.Launcher$ExtClassLoader@7c207c20
                [28/09/16 8.46.05:274 CEST] 00000016 SystemErr     R >>>> NON TROVATA
                [28/09/16 8.46.05:274 CEST] 00000016 SystemErr     R CLASS LOADER: sun.misc.Launcher$AppClassLoader@3e4e3e4e
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R >>>> NON TROVATA
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R CLASS LOADER: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@5f965f96
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R >>>> TROVATA
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R CLASS LOADER: com.ibm.ws.bootstrap.ExtClassLoader@5fd25fd2
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R >>>> TROVATA
                [28/09/16 8.46.05:275 CEST] 00000016 SystemErr     R CLASS LOADER: com.ibm.ws.classloader.ProtectionClassLoader@5b215b21
                [28/09/16 8.46.05:276 CEST] 00000016 SystemErr     R >>>> TROVATA
                [28/09/16 8.46.05:276 CEST] 00000016 SystemErr     R CLASS LOADER: 
                com.ibm.ws.classloader.CompoundClassLoader@70ba70ba[app:TestCache]
                   Local ClassPath: 
                   Parent: com.ibm.ws.classloader.ProtectionClassLoader@5b215b21
                   Delegation Mode: PARENT_FIRST
                [28/09/16 8.46.05:276 CEST] 00000016 SystemErr     R >>>> TROVATA
                [28/09/16 8.46.05:276 CEST] 00000016 SystemErr     R CLASS LOADER: 
                com.ibm.ws.classloader.CompoundClassLoader@72667266[war:TestCache/TestCacheWeb.war]
                   Local ClassPath: C:\RAD\workspace6\TestCacheWeb\WebContent\WEB-INF\classes;C:\RAD\workspace6\TestCacheWeb\WebContent
                   Parent: com.ibm.ws.classloader.CompoundClassLoader@70ba70ba[app:TestCache]
                   Delegation Mode: PARENT_FIRST
                [28/09/16 8.46.05:276 CEST] 00000016 SystemErr     R >>>> TROVATA
                


                Quindi mi trovo a due classloader di distanza dal DefaultClassLoader che mi carica la classe.
                Oggi mi cerco un po' di info sui connettori jmx di was.
                Young professional woman and busy mom.
                • Avatar
                  ☺
                  Scritto da
                  il 2016-09-28 09:17:07.0 alle 2016-09-28 09:17:07.0
                  Trollate totali: 42885
                  Re: giambina
                  Scritto da: ::1

                  E' la seconda volta in vita mia che vedo un do { ... } while ( ... ) in Java Geek

                  Mi ricordo che quando c'erano problemi di class loading, $tizioCiccione diceva di switchare il flag PARENT_FIRST A bocca aperta
                  `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
        • Avatar
          ☺
          Scritto da
          Wakko Warner
          Wakkus Horribilis
          il 2016-09-27 19:21:23.0 alle 2016-09-27 19:21:23.0
          Trollate totali: 6779
          Re: giambina
          Scritto da: ::1
          > Scritto da: Giambo
          > > Scritto da: ::1
          > > > Ho un scritto un javaagent eoni fa per wesphere 6.1, che via javassist wrappa le request; ora questo non funziona sotto websphere 7.0 perché nel system classloader dove viene caricato l'agent non sono più visibili le classi j2ee (javax.servlet.http nel mio caso).
          > > > Che fare?Piagnina
          > >
          > > Da quando ho abbandonato l'UBS, ho bevuto tanto alcool col preciso intento di dimenticare WebSphere.
          > > Pero' la tua situazione non mi pare particolare, sicuro che su stackoverflow qualcuno non ha avuto un problema simile ?
          >
          > Non trovo niente, o forse sbaglio keyword. L'alternativa è copiare in lib/ext il jar delle api, ma se hanno architettato diversamente i classloader non vorrei spaccare qualcos'altro.

          C# Ficoso
          Gli Svizzeri non sono tutti ricchi - Mattia
<softv>

Pagina generata in 182 millisecondi

Utenti attivi: 12 nell'ultimo minuto, 27 negli ultimi cinque minuti, 52 negli ultimi 15 minuti