| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | JEE og cache invalidering af extern system Fra : Frederik Hansen | 
  Dato :  08-05-06 08:50 |  
  |   
            Hejsa
 
 Jeg har et problem som jeg håber nogen her kan hjælpe mig med.
 
 Jeg har en JEE løsning som retter i noget data, som et andet/extern 
 system skal have af vide. (Det andet system er skrevet i C/C++ og 
 protocolen for at tale med det er properitært)
 
 Jeg ville meget gerne kunne hooke mig ind et sted, og få en notification 
 efter der committet eller rollbacked. Jeg har ladet mig fortælle at jeg 
 kunne gøre dette med noget SessionSynchronization, men desværre så kan 
 jeg IKKE anvende statefull session beans..
 
 Så nogen ideer til hvordan jeg kommer omkring det?! Jeg ville 
 naturligvis helst have en ikke-vendor-specific løsning, men hvis det 
 ikke kan være anderledes så kører løsningen på WebLogic 9.1 og WebSphere..
 
 Venlig hilsen
 Frederik
  
            
             |   |   
            
        
 
            
         
           Arne Vajhøj (09-05-2006) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  09-05-06 02:37 |  
  |   
            Frederik Hansen wrote:
 > Jeg har en JEE løsning som retter i noget data, som et andet/extern 
 > system skal have af vide. (Det andet system er skrevet i C/C++ og 
 > protocolen for at tale med det er properitært)
 > 
 > Jeg ville meget gerne kunne hooke mig ind et sted, og få en notification 
 > efter der committet eller rollbacked. Jeg har ladet mig fortælle at jeg 
 > kunne gøre dette med noget SessionSynchronization, men desværre så kan 
 > jeg IKKE anvende statefull session beans..
 > 
 > Så nogen ideer til hvordan jeg kommer omkring det?! Jeg ville 
 > naturligvis helst have en ikke-vendor-specific løsning, men hvis det 
 > ikke kan være anderledes så kører løsningen på WebLogic 9.1 og WebSphere..
 
 Det afhænger jo nok meget af hvordan du gemmer de data.
 
 Entity beans ? Hibernate ? Rå JDBC ?
 
 Arne
  
            
             |   |   
            
        
 
            
         
           Frederik Hansen (09-05-2006) 
         
	
            | Kommentar Fra : Frederik Hansen | 
  Dato :  09-05-06 06:09 |  
  |  
 
            Hej Arne
 Jeg gemmer nogen med hibernate og nogen med jdbc.. Ikke nogen med entity 
   beans.. Dog er det alt sammen med CMP, og løsningen skal også kunne 
 understøtte at clienterne bruger UserTransactions.. (Ja, vigtige 
 detailer, som jeg lige havde glemt at nævne.. <host>..)
 Det skal jo ikke være for let..   
Venlig hilsen
 Frederik
 Arne Vajhøj wrote:
 >> Så nogen ideer til hvordan jeg kommer omkring det?! Jeg ville 
 >> naturligvis helst have en ikke-vendor-specific løsning, men hvis det 
 >> ikke kan være anderledes så kører løsningen på WebLogic 9.1 og 
 >> WebSphere..
 > 
 > 
 > Det afhænger jo nok meget af hvordan du gemmer de data.
 > 
 > Entity beans ? Hibernate ? Rå JDBC ?
 > 
 > Arne
            
              |   |   
            
        
 
            
         
            Arne Vajhøj (10-05-2006) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  10-05-06 02:57 |  
  |   
            Frederik Hansen wrote:
  >Jeg har en JEE løsning som retter i noget data, som et andet/extern
  >system skal have af vide. (Det andet system er skrevet i C/C++ og
  >protocolen for at tale med det er properitært)
 
  >Jeg ville meget gerne kunne hooke mig ind et sted, og få en
  >notification efter der committet eller rollbacked. Jeg har ladet mig
  >fortælle at jeg kunne gøre dette med noget SessionSynchronization, men
  >desværre så kan jeg IKKE anvende statefull session beans..
 
  >Så nogen ideer til hvordan jeg kommer omkring det?! Jeg ville
  >naturligvis helst have en ikke-vendor-specific løsning, men hvis det
  >ikke kan være anderledes så kører løsningen på WebLogic 9.1 og
  >WebSphere..
 
 > Jeg gemmer nogen med hibernate og nogen med jdbc.. Ikke nogen med entity
 > beans.. Dog er det alt sammen med CMP, og løsningen skal også kunne
 > understøtte at clienterne bruger UserTransactions.. 
 
 Det er vanskeligt.
 
 De bedste ideer jeg kan komme på er:
 
 1) håndkode noget ind i de EJB implementationer som kontakter
 din C/C++ app
 
 2) bruge AspectJ (eller et andet AOP framework) til at eksekvere
 noget kode som kontakter din C/C++ app i tilfælde af en EJBException
 (jeg formoder at det er den som trigger rollback) eller normal
 return (som må betyde commit)
 
 3) hvis databasen understøtter triggers/stored procedures i
 Java så kan I lade en trigger (evt. via en stored procedure)
 kontakte din C/C++ app
 
 #1 havde du jo nok tænkt på og det er formentligt ikke muligt.
 
 Arne
  
            
             |   |   
            
        
 
            
         
             Arne Vajhøj (10-05-2006) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  10-05-06 12:57 |  
  |   
            Arne Vajhøj wrote:
 > 2) bruge AspectJ (eller et andet AOP framework) til at eksekvere
 > noget kode som kontakter din C/C++ app i tilfælde af en EJBException
 > (jeg formoder at det er den som trigger rollback) eller normal
 > return (som må betyde commit)
 
 Ups - det var jo BMT.
 
 Det er så ut.commit og ut.rollback kaldene man skal fange.
 
 Arne
  
            
             |   |   
            
        
 
            
         
              Frederik Hansen (11-05-2006) 
         
	
            | Kommentar Fra : Frederik Hansen | 
  Dato :  11-05-06 08:46 |  
  |   
            Arne Vajhøj wrote:
 > Arne Vajhøj wrote:
 > 
 >> 2) bruge AspectJ (eller et andet AOP framework) til at eksekvere
 >> noget kode som kontakter din C/C++ app i tilfælde af en EJBException
 >> (jeg formoder at det er den som trigger rollback) eller normal
 >> return (som må betyde commit)
 > 
 > 
 > Ups - det var jo BMT.
 
 Ja, faktisk en blanding. Altså de samme methode kald skal kunne 
 foretages med CMP, eller hvis clienten ønsker mere kontrol så med 
 UserTransactions. Men AspectJ er faktisk en god mulighed, som jeg ikke 
 havde tænkt på, så det vil jeg kigge noget mere på!
 
 > Det er så ut.commit og ut.rollback kaldene man skal fange.
 
 Øh, det forstod jeg ikke?
 
 Frederik
  
            
             |   |   
            
        
 
            
         
               Arne Vajhøj (12-05-2006) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  12-05-06 02:12 |  
  |   
            Frederik Hansen wrote:
 > Arne Vajhøj wrote:
 >> Det er så ut.commit og ut.rollback kaldene man skal fange.
 > 
 > Øh, det forstod jeg ikke?
 
 Altså med CMT skal du fange:
    after returning for din EJB
    after throwing for din EJB
 
 Mens du med BMT skal fange:
    after Transaction commit
    after Transaction rollback
 
 Arne
 
  
            
             |   |   
            
        
 
            
         
           Johnnie Hougaard Nie~ (09-05-2006) 
         
	
            | Kommentar Fra : Johnnie Hougaard Nie~ | 
  Dato :  09-05-06 08:07 |  
  |   
            Frederik Hansen wrote:
  > som retter i noget data, som et andet/extern system skal have af vide
 
 En mulig type løsning kunne være at kikke på at få database softwaren
 til at hjælpe dig. Det kunne f.eks. være ved at sætte en trigger på de
 tabeller hvor opdateringerne skal sendes videre.
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |