Changeset 770


Ignore:
Timestamp:
05/09/11 18:03:52 (8 years ago)
Author:
philsmart
Message:
 
Location:
raptor-mua/trunk/src/main
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • raptor-mua/trunk/src/main/config/dao-beans.xml

    r760 r770  
    2525                        <props> 
    2626                                <!-- <prop key="hibernate.dialect"> org.hibernate.dialect.PostgreSQLDialect</prop> --> 
    27                                  <prop key="hibernate.dialect"> org.hibernate.dialect.HSQLDialect</prop>  
    28                                 <prop key="hibernate.show_sql">false</prop>  
     27                                 <prop key="hibernate.dialect"> org.hibernate.dialect.HSQLDialect</prop> 
     28                                <prop key="hibernate.show_sql">false</prop> 
    2929                                <prop key="hibernate.hbm2ddl.auto">update</prop> 
    30                                          
     30 
    3131                        </props> 
    3232                </property> 
     
    7979        </property> 
    8080        <property name="jdbcUrl"> 
    81             <value>jdbc:hsqldb:file:data/mua;hsqldb.default_table_type=cached</value> 
     81            <value>jdbc:hsqldb:file:data/mua-second;hsqldb.default_table_type=cached</value> 
    8282        </property> 
    8383        <property name="user"> 
  • raptor-mua/trunk/src/main/config/event-release.xml

    r658 r770  
    2525        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 
    2626 
     27         <!-- Configure how the client talks to the MUA, setting appropriate trust and keystore locations  --> 
     28 
     29    <bean id="serviceEndpointInterface" class="uk.ac.cardiff.raptor.remoting.client.sei.impl.CxfServiceEndpointClient"> 
     30       <property name="tlsParameters"> 
     31           <bean class="uk.ac.cardiff.raptor.remoting.client.sei.impl.ClientTLSParameters"> 
     32                 <property name="trustStoreLocation"><value>/Users/philsmart/Documents/Java/RaptorWorkspace/keys/mua-public.jks</value></property> 
     33                 <property name="trustStorePassword"><value>phil11</value></property> 
     34                 <property name="keyStoreLocation"><value>/Users/philsmart/Documents/Java/RaptorWorkspace/keys/raptor-ica.jks</value></property> 
     35                 <property name="keyStorePassword"><value>phil11</value></property> 
     36           </bean> 
     37       </property> 
     38    </bean> 
     39 
    2740 
    2841        <bean id="endpointRegistry" class="uk.ac.cardiff.raptor.registry.EndpointRegistry"> 
     
    3043                        <list> 
    3144                                <bean id="cardiffRaptorMUA" class="uk.ac.cardiff.raptor.registry.Endpoint"> 
    32                                         <property name="serviceEndpoint"><value>http://ipower.insrv.cf.ac.uk:8080/MUA/MultiUnitAggregator</value></property> 
     45                                        <property name="serviceEndpoint"><value>https://ipower.insrv.cf.ac.uk:8443/MUA/MultiUnitAggregator</value></property> 
    3346                                        <property name="pushPolicies"> 
    3447                        <list> 
    35                             <ref bean="entryNoPushPolicy"></ref> 
     48                            <ref bean="entryNoElapsedTimePushPolicy"></ref> 
    3649                        </list> 
    3750                    </property> 
    38                                         <property name="attributeFilterPolicy"><ref bean="removePrincipleFilterPolicy"></ref></property> 
    39                                 </bean> 
     51                                        <!--<property name="attributeFilterPolicy"><ref bean="removePrincipleFilterPolicy"></ref></property> 
     52                                --></bean> 
    4053                        </list> 
    4154                </property> 
     
    4457        <!--  policy for release of events --> 
    4558 
    46         <bean id="entryNoPushPolicy" class="uk.ac.cardiff.raptor.remoting.policy.EntryNoPushPolicy"> 
    47                 <property name="pushOnOrAfterNoEntries"><value>10</value></property> 
    48         </bean> 
     59        <bean id="entryNoElapsedTimePushPolicy" class="uk.ac.cardiff.raptor.remoting.policy.EntryNoElapsedTimePushPolicy"> 
     60        <property name="pushOnOrAfterNoEntries"> 
     61            <value>10</value> 
     62        </property> 
     63        <property name="pushInterval"> 
     64            <value>100000</value> 
     65        </property> 
     66    </bean> 
    4967 
    5068        <!-- Attribute filter policies --> 
  • raptor-mua/trunk/src/main/config/logback.xml

    r760 r770  
    77  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
    88    <encoder> 
    9       <pattern>%5p %t %d \(%C:%L\) ---&gt; %m%n</pattern> 
     9      <pattern>%5p %t %d \(%C{3}:%L\) ---&gt; %m%n</pattern> 
    1010    </encoder> 
    1111  </appender> 
    12    
     12 
    1313  <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    1414    <file>${USER_HOME}/raptor-mua-process.log</file> 
    1515    <encoder> 
    16       <pattern>%5p %d \(%C:%L\) ---&gt; %m%n</pattern> 
     16      <pattern>%5p %d \(%C{3}:%L\) ---&gt; %m%n</pattern> 
    1717    </encoder> 
    1818  </appender> 
    19    
     19 
    2020  <logger name="org.springframework" level="ERROR"> 
    2121    <appender-ref ref="stdout"/> 
     
    3636    <appender-ref ref="FILE"/> 
    3737  </logger> 
    38    
     38 
    3939 
    4040</configuration> 
  • raptor-mua/trunk/src/main/config/mua-core.xml

    r764 r770  
    103103        <property name="endpointRegistry"><ref bean="endpointRegistry"/></property> 
    104104        <property name="eventReleaseEngine"><ref bean="eventReleaseEngine"></ref></property> 
     105        <property name="enableEventRelease"><value>true</value></property> 
    105106    </bean> 
    106107 
     
    111112 
    112113    <bean id="attributeFilterEngine" class="uk.ac.cardiff.raptor.attribute.filtering.AttrributeFilterEngine"/> 
    113  
    114     <bean id="serviceEndpointInterface" class="uk.ac.cardiff.raptor.remoting.client.sei.impl.CxfServiceEndpointClient"/> 
    115114 
    116115 
     
    123122                <property name="entityId"><value>https://HOSTNAME/raptor-mua</value></property> 
    124123        </bean> 
     124 
     125        <!-- release trigger setup --> 
     126    <bean id="muaReleaseQuickTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
     127        <property name="jobDetail"> 
     128            <ref local="muaReleaseJobDetail" /> 
     129        </property> 
     130        <property name="startDelay" value="10000" /> 
     131        <property name="repeatInterval" value="10000" /> 
     132    </bean> 
     133 
     134    <bean id="muaReleaseJobDetail" 
     135        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
     136        <property name="targetObject"> 
     137            <ref bean="MUAProcess" /> 
     138        </property> 
     139        <property name="targetMethod"> 
     140            <value>release</value> 
     141        </property> 
     142        <property name="concurrent"> 
     143            <value>false</value> 
     144        </property> 
     145    </bean> 
     146 
     147    <!--  Trigger setup --> 
     148    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
     149        <property name="triggers"> 
     150            <list> 
     151                <ref local="muaReleaseQuickTrigger" /> 
     152            </list> 
     153        </property> 
     154    </bean> 
     155    <!--  DONE --> 
    125156 
    126157        <!-- Create the storage engine and entry handler --> 
  • raptor-mua/trunk/src/main/config/server.properties

    r755 r770  
    1 jetty.port=8443 
     1jetty.port=8444 
    22jetty.webapp.contextPath=/MUA 
    33 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/engine/MUAEngine.java

    r760 r770  
    2222import java.util.List; 
    2323 
     24import org.joda.time.DateTime; 
    2425import org.slf4j.Logger; 
    2526import org.slf4j.LoggerFactory; 
     
    3940import uk.ac.cardiff.raptor.parse.EventParserNotFoundException; 
    4041import uk.ac.cardiff.raptor.parse.ParserException; 
     42import uk.ac.cardiff.raptor.registry.Endpoint; 
    4143import uk.ac.cardiff.raptor.remoting.client.EventReleaseClient; 
     44import uk.ac.cardiff.raptor.remoting.client.ReleaseFailureException; 
    4245import uk.ac.cardiff.raptor.runtimeutils.ReflectionHelper; 
    4346import uk.ac.cardiff.raptor.store.StorageEngine; 
     
    5053/** 
    5154 * @author philsmart 
    52  *  
     55 * 
    5356 */ 
    5457public class MUAEngine { 
     
    8689        /** 
    8790         * Sets the statisticalhandler. 
    88          *  
     91         * 
    8992         * @param statisticsHandler 
    9093         *            the statistichandler to set 
     
    108111        } 
    109112 
     113 
     114            /** 
     115             * First, find the earliest event that needs to be retrieved from the 
     116             * storage engine - which may contain duplicates to those already sent, 
     117             * but these are filtered by the releaseClient later. 
     118             * Then send those events to the event release client. 
     119             * 
     120             * @return 
     121             */ 
     122         public final boolean release() { 
     123             List<Endpoint> endpoints = eventReleaseClient.getEndpoints(); 
     124             DateTime earliestReleaseTime = null; 
     125             Endpoint endpointWithEarliestReleaseTime=null; 
     126             for (Endpoint endpoint :endpoints){ 
     127                     if (earliestReleaseTime==null){ 
     128                             earliestReleaseTime = endpoint.getReleaseInformation().getLastReleasedEventTime(); 
     129                             endpointWithEarliestReleaseTime = endpoint; 
     130                     } 
     131                     if (endpoint.getReleaseInformation().getLastReleasedEventTime().isBefore(earliestReleaseTime)){ 
     132                             earliestReleaseTime = endpoint.getReleaseInformation().getLastReleasedEventTime(); 
     133                             endpointWithEarliestReleaseTime = endpoint; 
     134                     } 
     135             } 
     136 
     137                List<Event> eventsToSend = storageEngine.getEventsOnOrAfter(earliestReleaseTime); 
     138 
     139                boolean success = false; 
     140                try { 
     141                        success = eventReleaseClient.release(eventsToSend, getMuaMetadata()); 
     142                } catch (ReleaseFailureException e) { 
     143                        log.error("Event Release failed ", e); 
     144                } 
     145                return success; 
     146        } 
     147 
     148 
    110149        /** 
    111150         * Gets the capabilities of this MUA, also sets some default values and 
    112151         * possible values for the calling component to use 
    113          *  
     152         * 
    114153         * @return 
    115154         */ 
     
    158197         * Use the configured raptor parsing library to store the incomming 
    159198         * <code>uploadFiles</code> 
    160          *  
     199         * 
    161200         * @param uploadFiles 
    162201         *            the files to parse and store 
     
    188227                        } catch (EventParserNotFoundException e) { 
    189228                                log.error("Event parser could not be found for {}, with reason {}", logfileUpload.getName(), e.getMessage()); 
    190                                  
     229 
    191230                                result.setStatus("Failed To Parse"); 
    192231                                result.setProcessed(false); 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/service/MUAProcess.java

    r733 r770  
    7171 
    7272        public List<LogFileUploadResult> batchUpload(List<LogFileUpload> uploadFiles) throws SoapFault; 
     73 
     74        /** 
     75         *  An internal function that releases events upwards to other aggregators 
     76         * 
     77         */ 
     78        public void release(); 
    7379} 
  • raptor-mua/trunk/src/main/java/uk/ac/cardiff/raptormua/service/impl/MUAProcessImpl.java

    r764 r770  
    7979                                return engine.performStatistic(statisticName); 
    8080                        } catch (Exception e) { 
    81                                 // TODO either throw as service output, or deal with here 
    82                                 log.error(e.getMessage()); 
    83                                 e.printStackTrace(); 
    84                         } finally { 
    85                                 lockR.unlock(); 
    86                         } 
    87                 } 
    88                 log.warn("Lock was hit for method performStatistic"); 
     81                                log.error("{}",e); 
     82                        } finally { 
     83                                lockR.unlock(); 
     84                        } 
     85                } 
     86                log.warn("Lock was hit for method [performStatistic]"); 
    8987                throw new SoapFault("lock was hit on method performStatistic", new QName("Server")); 
    9088 
    9189        } 
     90 
     91        public void release()  { 
     92            if (lockR.tryLock()) { 
     93                    try { 
     94                        engine.release(); 
     95 
     96                    } catch (Exception e) { 
     97                            log.error(e.getMessage()); 
     98                            e.printStackTrace(); 
     99                    } finally { 
     100                            lockR.unlock(); 
     101                    } 
     102            } 
     103            else{ 
     104                log.warn("Lock was hit for method [release]"); 
     105            } 
     106       } 
    92107 
    93108 
     
    107122                                success = true; 
    108123                        } catch (Exception e) { 
    109                                 // TODO either throw as service output, or deal with here 
    110                                 log.error(e.getMessage()); 
    111                                 e.printStackTrace(); 
     124                                log.error("{}",e); 
    112125                        } finally { 
    113126                                lockR.unlock(); 
     
    115128                } 
    116129                if (!success) { 
    117                         log.warn("Lock was hit for method updateStatisticalUnit"); 
     130                        log.warn("Lock was hit for method [updateStatisticalUnit]"); 
    118131                        throw new SoapFault("lock was hit on method updateStatisticalUnit", new QName("Server")); 
    119132                } 
     
    129142                                return engine.performAdministrativeFunction(function); 
    130143                        } catch (Exception e) { 
    131                                 // TODO either throw as service output, or deal with here 
    132                                 log.error(e.getMessage()); 
    133                                 e.printStackTrace(); 
     144                                log.error("{}",e); 
    134145                                return false; 
    135146                        } finally { 
     
    139150 
    140151                } 
    141                 log.warn("Lock was hit for method performAdministrativeFunction"); 
     152                log.warn("Lock was hit for method [performAdministrativeFunction]"); 
    142153                throw new SoapFault("lock was hit on method performAdministrativeFunction", new QName("Server")); 
    143154        } 
     
    163174                } 
    164175                else 
    165                     log.warn("Lock was hit for method addAuthentications"); 
     176                    log.warn("Lock was hit for method [addAuthentications]"); 
    166177                if (!success){ 
    167178                    log.error("WARNING, technical fault, could not add events to this MUA"); 
     
    182193                                return engine.performStatistic(statisticalUnitInformation.getStatisticParameters().getUnitName()); 
    183194                        } catch (Exception e) { 
    184                                 log.error(e.getMessage()); 
    185                                 e.printStackTrace(); 
    186                         } finally { 
    187                                 lockR.unlock(); 
    188                         } 
    189                 } 
    190                 log.warn("Lock was hit for method updateAndInvokeStatisticalUnit"); 
     195                                log.error("{}",e); 
     196                        } finally { 
     197                                lockR.unlock(); 
     198                        } 
     199                } 
     200                log.warn("Lock was hit for method [updateAndInvokeStatisticalUnit]"); 
    191201                throw new SoapFault("lock was hit on method updateAndInvokeStatisticalUnit", new QName("Server")); 
    192202 
Note: See TracChangeset for help on using the changeset viewer.