...
ASPF Publish:
Code Block language xml firstline 1 title ASPF Publish Facet linenumbers true <ThingFacet Name="AspfPublisherFacet"> <String KnownBy="AspfPublisherAction" Name="PublishMessage" modifiers="virtual"/> <String Name="ChannelName" modifiers="virtual"/> <String Name="ClientId" modifiers="virtual"/> <AA> [:#o#Output.Argument:] </AA> <ASPFURL> aspf://?ClientId=[%:[:AA:].ClientId.Value:%]& ClientType=publisher& HostName=[:Config.SPECacheInfo.HostName:]& PortNumber=[:Config.SPECacheInfo.Port:]& Channel=[%:[:AA:].ChannelName.Value:%] </ASPFURL> <Action Name="AspfPublisherAction"> <Workflow Limit="1" Live="1" Timeout="-1"> <Task name="Main"> <Output as="ActionArgument" name="Argument"/> <Invoke name="InvokeAspfPublish" post="[:ASPFURL:]" scope="local" waitFor="Argument"> <Message Type="text"> <Value> <Payload> [%:[:AA:].PublishMessage.Value:%] </Payload> </Value> </Message> </Invoke> <Output As="ActionResult" Name="Result"> <Value> <PublishMessage> <Include> Invoke.InvokeAspfPublish.Message.Value </Include> </PublishMessage> </Value> </Output> </Task> </Workflow> </Action> </ThingFacet>
Code Block language xml firstline 1 title Publish Initialization Query linenumbers true <Query> <DeleteAll> <AspfPublisherModel> <publishId ne="" /> </AspfPublisherModel> </DeleteAll> <Create> <AspfPublisherModel> <ClientID>PublisherTest</ClientID> <ClientType>Publisher</ClientType> <PublishMessage>Hello TQL111</PublishMessage> <HostName>localhost</HostName> <PortNumber>6379</PortNumber> <Channel>Channel2</Channel> </AspfPublisherModel> </Create> </Query>
Code Block language xml firstline 1 title Publish Update Query linenumbers true <Query> <Find format="version,known"> <AspfPublisherModel> <publishId ne=""/> </AspfPublisherModel> </Find> <SetResponseData> <key>Message.Value.Find.Result.AspfPublisherModel.PublishMessage.Value</key> <value>HelloTQL new 123</value> </SetResponseData> <Update> <from>Result</from> <Include>$Response.Message.Value.Find</Include> </Update> </Query>
ASPF Subscribe
Code Block language xml firstline 1 title ASPF Subscribe Facet linenumbers true <ThingFacet Name="AspfSubscriberFacet"> <String KnownBy="AspfSubscriberAction" Name="ReceivedData" update="auto"/> <String Name="ClientId"/> <String Name="ClientType"/> <String Name="HostName"/> <String Name="PortNumber"/> <String Name="Channel"/> <Action Name="AspfSubscriberAction"> <Workflow Limit="1" Live="1" Timeout="-1"> <Task name="Main" while="true"> <Event as="ActionArgument" name="Argument"/> <Invoke Name="ProcessMessage" waitFor="Argument"> <FacetScript> <Log level="INFO" message="Calling Subscrier...."/> </FacetScript> </Invoke> <Invoke get="aspf:1234//?ClientId=[%:Event.Argument.ClientId.Value:%]&ClientType=[%:Event.Argument.ClientType.Value:%]&HostName=[%:Event.Argument.HostName.Value:%]&PortNumber=[%:Event.Argument.PortNumber.Value:%]&Channel=[%:Event.Argument.Channel.Value:%]" name="InvokeAspfSubscription" scope="process" waitFor="Argument"/> <Invoke Name="ProcessMessage" waitFor="Argument"> <FacetScript> <Log level="INFO" message="subscriber invoked [%:Invoke.InvokeAspfSubscription.Message.Value.Message:%]"/> </FacetScript> </Invoke> <Output As="ActionResult" Name="Result"> <Value> <ReceivedData> [%:Invoke.InvokeAspfSubscription.Message.Value.Message:%] </ReceivedData> </Value> </Output> </Task> </Workflow> </Action> </ThingFacet>
Code Block language xml firstline 1 title Subscribe Initialize Query linenumbers true <Query> <DeleteAll> <AspfSubscriberModel> <subscribeId ne="" /> </AspfSubscriberModel> </DeleteAll> <Create> <AspfSubscriberModel> <ClientID>SubscriberTest</ClientID> <ClientType>Subscriber</ClientType> <HostName>localhost</HostName> <PortNumber>6379</PortNumber> <Channel>Channel2</Channel> <ReceivedData>$Null()</ReceivedData> </AspfSubscriberModel> </Create> </Query>
...