public void scanProcesses ( Object typeObject , OperationType type ) { String strTargetVersion = this . getProperty ( "version" ) ; if ( strTargetVersion == null ) strTargetVersion = this . getDefaultVersion ( ) ; Record recMessageTransport = ( ( ReferenceField ) this . getRecord ( MessageControl . MESSAGE_CONTROL_FILE ) . getField ( MessageControl . WEB_MESSAGE_TRANSPORT_ID ) ) . getReference ( ) ; MessageVersion recMessageVersion = ( ( MessageControl ) this . getRecord ( MessageControl . MESSAGE_CONTROL_FILE ) ) . getMessageVersion ( strTargetVersion ) ; MessageProcessInfo recMessageProcessInfo = new MessageProcessInfo ( this ) ; recMessageProcessInfo . setKeyArea ( MessageProcessInfo . MESSAGE_INFO_ID_KEY ) ; try { // Always register this generic processing queue. recMessageProcessInfo . close ( ) ; while ( recMessageProcessInfo . hasNext ( ) ) { recMessageProcessInfo . next ( ) ; String strQueueName = recMessageProcessInfo . getQueueName ( true ) ; String strQueueType = recMessageProcessInfo . getQueueType ( true ) ; String strProcessClass = recMessageProcessInfo . getField ( MessageProcessInfo . PROCESSOR_CLASS ) . toString ( ) ; Map < String , Object > properties = ( ( PropertiesField ) recMessageProcessInfo . getField ( MessageProcessInfo . PROPERTIES ) ) . getProperties ( ) ; Record recMessageType = ( ( ReferenceField ) recMessageProcessInfo . getField ( MessageProcessInfo . MESSAGE_TYPE_ID ) ) . getReference ( ) ; if ( recMessageType != null ) { // Start all processes that handle INcoming REQUESTs. String strMessageType = recMessageType . getField ( MessageType . CODE ) . toString ( ) ; Record recMessageInfo = ( ( ReferenceField ) recMessageProcessInfo . getField ( MessageProcessInfo . MESSAGE_INFO_ID ) ) . getReference ( ) ; if ( recMessageInfo != null ) { Record recMessageInfoType = ( ( ReferenceField ) recMessageInfo . getField ( MessageInfo . MESSAGE_INFO_TYPE_ID ) ) . getReference ( ) ; if ( recMessageInfoType != null ) { String strMessageInfoType = recMessageInfoType . getField ( MessageInfoType . CODE ) . toString ( ) ; if ( MessageInfoType . REQUEST . equals ( strMessageInfoType ) ) if ( MessageType . MESSAGE_IN . equals ( strMessageType ) ) if ( ( strQueueName != null ) && ( strQueueName . length ( ) > 0 ) ) { Record recMessageTransportInfo = this . getRecord ( MessageTransportInfo . MESSAGE_TRANSPORT_INFO_FILE ) ; recMessageTransportInfo . setKeyArea ( MessageTransportInfo . MESSAGE_PROCESS_INFO_ID_KEY ) ; recMessageTransportInfo . getField ( MessageTransportInfo . MESSAGE_PROCESS_INFO_ID ) . moveFieldToThis ( recMessageProcessInfo . getField ( MessageProcessInfo . ID ) ) ; recMessageTransportInfo . getField ( MessageTransportInfo . MESSAGE_TRANSPORT_ID ) . moveFieldToThis ( recMessageTransport . getField ( MessageTransport . ID ) ) ; recMessageTransportInfo . getField ( MessageTransportInfo . MESSAGE_VERSION_ID ) . moveFieldToThis ( recMessageVersion . getField ( MessageVersion . ID ) ) ; if ( recMessageTransportInfo . seek ( DBConstants . EQUALS ) ) { this . addProcessForWSDL ( strTargetVersion , typeObject , recMessageProcessInfo , type ) ; } } } } } } recMessageProcessInfo . close ( ) ; } catch ( DBException ex ) { ex . printStackTrace ( ) ; } finally { recMessageProcessInfo . free ( ) ; } }
ScanProcesses Method .