Event Gateways in Multiserver Environment
Hi all
As a company we are looking to deploy a Flex application
using 'push' messaging.
The backend is a multiserver Coldfusion 8 setup behind a load
balancer. My concern is around the multiserver setup while using
event gateways. If a client consumes from a particular gateway on a
particular server, and a CF process on
another server produces for a gateway on it's server how
will the data push occur thus updating all clients consuming from
the gateways on
all servers.
I'm afraid we will have to get the CF process on one server
produce for it's own gateway and we'll have to get all clients to
consume from that gateway - thus not allowing us to spead the load
across all CF servers using thier own gateways in the multi-server
environment.
Am I missing something here? This area appears to be fairly
new, so any and all comments appreciated.
Cheers,
Ciaran
Hey guys, just wanted to register that I am having the same
exact problem! Let me know about any solution!
bhyder
Richard
Gere Fansite
Similar Messages
-
Socket event gateway error in CF8?
Having upgraded to CF8 with no code changes I am seeing a
socket event gateway accept an xml message line by line and not the
entire xml packet in one shot (each line is shown in the log
separately). Passing a simple sentence with a return in it also
becomes 2 events. This obviously causes problems, as the xml cannot
be recognized and processed when it comes in line by line. The xml
is coming from a daemon writen in Perl, and I can't immediately
make any changes to it, as these requests are also sent out to
other Perl systems, so any changes would have to be tested against
them as well.
I couldn't find anything online about this being a bug in
CF8, has anyone else seen it?Hi,
Remove this (And never put it in again)
EXCEPTION
when others then
raise_application_error(-20001,'Error sending email.Error: '||sqlerrm);
--Dbms_Put.Put_Line('Error sending email.Error: '||dbms_util.get_detailed_sqlerrm);This will tell you more about what is going on, such as giving you the location of the error.
But 20999, is a user defined exception, are you putting objects into system schema?
Regards
Peter -
Hello all,
I've recently been developing a project that involves sending out events from ColdFusion to LiveCycle 2.6.1 using the Data Management event gateway to Flex 4.0 clients (LiveCycle and ColdFusion are on different Instances, but the same server). To begin with, I used ColdFusion assemblers, DAO's, and models and everything worked fine locally. After deploying this setup to a beta site, I decided that this setup would be very troublesome in terms of configuring clustered instances across multiple servers. I then decided to convert my assemblers, DAO's, and models to Java. The conversion went well and the flex clients see the exact same data as they did with the ColdFusion adapter.
Once I tried to send an update through from my ColdFusion application to a Flex client, I get an error stating that:
"Unable to find the Flex adapter for destination My_Dest in the RMI registry on localhost:1099.The Flex adapter may not be running or the destination may be incorrect."
After seeing this error, downloaded a Java-based RMI inspector to see what was going on. To get a good idea of what was happening when the ColdFusion adapter was being used, I switched my data-management-config file back to the CF adapter. I noticed that the RMI entry was as follows:
localhost:1099/cfdataserviceadapter/My_Dest
localhost:1099/cfassembler/my_cf_instance
Once I gathered this data as the base, I converted back to the Java adapter in my data-management-config file, restarted the servers, and ran the RMI inspector again. Only the "localhost:1099/cfassembler/my_cf_instance" was showing. (This one shows because I have "Enable Remote Adobe LiveCycle Data Management Access" checked in my CF instance's CF Admin -> Flex Integration). Since I don't need this checked anymore, I unchecked it and re-ran the RMI inspector. As it should, the "localhost:1099/cfdataserviceadapter/My_Dest" went away. Since no destination shows up, it means that the Flex adapter isn't registering my "my_Dest" destination with RMI. Since it isn't registered, I can't see it when I try to send a message through the CF Data Management event gateway.
Can anyone help me out here? I certainly may be missing something when it comes to RMI (I don't work with Java very often). Any advice would be greatly appreciated!
Thank you,
Dustin BlomquistDustin,
Without the ColdFusion based data management destination defined on the LCDS server, the destination will not show up in the RMI registry. It is only the CF adapter code that does this. The 'stock' LCDS adapter does not support invoking via RMI the way the CF version does.
I would recommend you run the LCDS MessageBrokerServlet inside the ColdFusion web application. This will give you two things:
1. You will not have the overhead of RMI between CF and LCDS as they will share the same VM (better performance!).
2. You will be able to use the CF Data Management Gateway to pass messages to Java-based destinations. The APIs the gateway uses should work fine with either CF or Java based Data Management destinations.
The CF/LCDS integration doesn't support what you are trying to do when you run two seperate instances. -
Asynch Event Gateway not multi-threaded?
Hi there,
I've stumbled upon a huge problem and I would greatly
appreciate your help otherwise I am looking at a major rework of my
application :S
I thought that any event gateway (asynch) would be
multi-threaded? that is, multiple users can call the event gateway
at the same time and this would just fire up threads of the event
gateway and parallel processing of the cfc will occur?
However, that is not whats happening in my application. My
event gateway is called from a webpage and it computes (very
complicated and time consuming data) its data and creates a file
with a unique filename. However, if more then 1 user submits a job
at the same time, it only takes the first job, finishes it and then
starts working on the next job in the queue. So if there were 5
users who submitted their jobs one after the other, the event
gateway will take their jobs one by one which is very bad for me.
Is there a way to have event gateway work on multiple jobs at
the sametime??? or is this just not possible?
I will greatly appreciate your reply. thank you
using Coldfusion MX 7, WINXPMy event gateway is called from a webpage and it computes (very
complicated and time consuming data) its data and creates a file
with a unique filename. However, if more then 1 user submits a job
at the same time, it only takes the first job, finishes it and then
starts working on the next job in the queue. So if there were 5
users who submitted their jobs one after the other, the event
gateway will take their jobs one by one
I'm not so sure about your conclusion in the case of 5 jobs.
The 5 jobs may start in the order in which they were triggered, but
might end in a different order. Also, there could be some
multithreaded processing between the first job starting and the
last job finishing. Threads can be unpredictable worms. -
Coldfusion Event Gateway Adapter exercise
I am doing this exercises in the FlexBuilder SDK .
Use Coldfusion Event Gateway Adapter exercise
When I get to
Select Event Gateways > Gateway Instances.
Enter Flex2CF2 as the Gateway ID.
Select Flex Messaging - Flex as the Gateway Type.
There is no Flex Messaging-Flex option
The closest two are
DataManagement Notifies Data Management Services of data
changes coldfusion.eventgateway.flex.FlexDataManagementGateway
DataServicesMessaging Handles Data Services Messaging
messages coldfusion.eventgateway.flex.FlexMessagingGateway
I try the example @
http://localhost:8700/samples/dataservice/myapp/flexemail2cf.mxml
The flex server is running fine but generates an RMI error in
the cmd console
flex.messaging.MessageException: Unable to find ColdFusion
gateway 'Flex2CF2 in RMI registry on host localhost
the gateway may not be running.
The gateway shows as running in the coldfusion
adminstrator.You need to ask them on Adobe forum: https://forums.adobe.com/community/coldfusion
This posting is provided AS IS with no warranties or guarantees , and confers no rights.
Ahmed MALEK
My Website Link
My Linkedin Profile
My MVP Profile -
ColdFusion Event Gateway Flex CF 8
I am doing this exercises in the FlexBuilder SDK .
Use Coldfusion Event Gateway Adapter exercise
When I get to
Select Event Gateways > Gateway Instances.
Enter Flex2CF2 as the Gateway ID.
Select Flex Messaging - Flex as the Gateway Type.
There is no Flex Messaging-Flex option
The closest two are
DataManagement Notifies Data Management Services of data
changes coldfusion.eventgateway.flex.FlexDataManagementGateway
DataServicesMessaging Handles Data Services Messaging
messages coldfusion.eventgateway.flex.FlexMessagingGateway
I try the example @
http://localhost:8700/samples/dataservice/myapp/flexemail2cf.mxml
The flex server is running fine but generates an RMI error in
the cmd console
flex.messaging.MessageException: Unable to find ColdFusion
gateway 'Flex2CF2 in RMI registry on host localhost
the gateway may not be running.
The gateway shows as running in the coldfusion adminstrator.
Please helpI think Flex messaging event gateway capability first was
available in CF 7. -
Hello all,
I am having a problem with the SMS event gateway in regards
to sending optional parameters. In the SMPP 3.x spec, there are
parameters that can be used by the SMSC, and our aggregator is
utilizing two of them. I am trying to determine how to deliver the
optional parameters to the SMSC successfully. In the CF docs it
describes how to send a subset of the optional parameters, but is
there a way to send others? For example, the cf docs say you can
send msgStr.alertOnMsgDelivery = 1 to set the
alert_on_message_delivery (0x130C) parameter. The SMPP spec states
that 0x1400 - 0x3FFF are "Reserved for SMSC Vendor specific
optional
parameters". How can I send these parameters via the SMS
event gateway? I need to send two parameters (0x2151 & 0x2152),
can this be done via the gateway?
Thanks!
RichI have the same problem, Joralac. I'm looking for the same
answer. Here's what I just posted in the Event Gateways forum which
seems to be a no-man's-land forum because nothing there ever gets
answered... :-)
RLS
What I posted there was:
After experimenting with SMS providers, we settled on MX
Telecom. Great - except that the level of the service we have says
that we must send back a special username based on the carrier from
which the message came. Pain in the posterior...
So, for example, they give this parameter for Operator Code:
ID: 0x3010
Name: Operator Code
Direction: MX -> Customer
Length: Variable
value: string (not null terminated)
So, if my cfscript code looks something like this:
mesg = structNew();
mesg.command = "submit";
mesg.sourceAddress = "12345";
mesg.destAddress = "16125551212";
mesg.shortMessage = "Hello, World.";
sendGatewayMessage("smsMyMenuTest", mesg);
Just how do I encode and pass along that parameter that they
want? -
Send Governor hanging issue on multiserver environment
HI Experts,
We really don't know how to overcome this send governor issue, in two days servers bounced 6 times to fix the send governor hanging isue.
we are on BPC 7 MS, SP5, Multiserver environment(Two appservers and one database server)we have been using the prod system for 6 months without any issues, recently we extended the logic to execute for more periods,then started facing the issue of one of the appserver goes down automatically (most of the times appserver02) while users send data using input shchedules and sometimes we see the locks in lckapp table, during this time users can't loginto the system untill restart the com+ services ,send governor service and teboot of servers.
we are able to clear out the locked members from lckapp tables and users are able to resend it.
why does appserver go down automatically ? what should be the reason ? How to fix this kind of issue?
any help should be appreciated greatly!
Thanks
KrishnaHi,
I think here we are speaking about performances and design of application.
I don't think doing an upgrade will solve your problem because I don't know any fix for SG after SP5.
How are you running the logic?
Do you have DM package or we are speaking about default logic?
Do you have multiple users running the lDM packages with logic?
Do you have the logic schedule?
Do you have lite optimize schedule? How often?
Answers to all these questions will provide you a better information regarding the root cause of this issue.
Regards
Sorin Radulescu
Edited by: Sorin Radulescu on Jul 12, 2010 12:37 PM -
SetLocale no effect in event gateway
SetLocale() is ignored when a CFC is called through an event
gateway. SetLocale() works fine when called through an ordinary
HTTP request. When called through the gateway the locale is always
set as default locale that the server JVM instance was installed
with.
Does anybody have a workaround for this?
We use MX7.
Here is some example code if you want to test:
<cfset message = StructNew()>
<cfset message.method = "onTest">
<cfset pushQueue =
SendGatewayMessage("LocaleTest",message)>
Create a gateway "LocaleTest" pointing to "LocaleText.cfc"
which looks like this:
<cfcomponent>
<cffunction name="onTest" output="no">
<cfargument name="CFEvent" type="struct"
required="yes">
<!--- choose a different locale then your server default
--->
<cfset SetLocale("en_GB")>
<cffile action="append" file="c:\temp.log"
output="#GetLocale()#">
</cffunction>
</cfcomponent>
You can find the output in c:\temp.log, you will see it
doesnt take the locale set by SetLocale()Leo_CF wrote:
> SetLocale() is ignored when a CFC is called through an
event gateway.
> SetLocale() works fine when called through an ordinary
HTTP request. When
> called through the gateway the locale is always set as
default locale that the
> server JVM instance was installed with.
ok, i can confirm for asynch gateways.
> Does anybody have a workaround for this?
not sure i'd class this as a "workaround" as it's pretty
drastic & i have not
tested for any side effects but this "works":
<cfscript>
locale=createObject("java","java.util.Locale");
thisLocale=locale.init("th","TH");
originalLocale=locale.getDefault();
locale.setDefault(thisLocale);
</cfscript>
<!--- note that cflog doesn't do unicode --->
<cflog text="#getLocale()# :::
#LSdateFormat(now(),'FULL')#" file="localeTest">
<cfscript>
// return to original locale
locale.setDefault(originalLocale);
</cfscript> -
ColdFusion Event Gateway - Data Processing Delay
Hi,
We are running ColdFusion 9 inside JBOSS.
We have event gateways that communicate with JMS Queue from JBOSS to acquire the vehicle related data for further processing (about 2 millions data per day in real time).
However, we facing performance degradation for the event gateways after it runs for 8hrs (initially data processing at 0 sec delay, subsequently built up to almost 10 mins delay) and it requires restart to resume back to normal speed.
Further checking on the servers show that the event gateways occupied all CPU processing power after running for few hrs.
May I know what is the issue and what can i do improve the performance. Your help shall be high appreciated.
Below the settings for event gateways.
Queue Size : 10000
Thread : 30
Server Spec
IBM x3650 series
RAM : 6GB
Processor : Dual Quad Core Processors 2.5GHZHi, anyone can assist for my question posted ?
TQ -
BOFC 7.5 multiserver environment
Hey experts,
i need your help. I'm trying to install SAP BOFC 7.5 on a multiserver environment (database server on a machine, application and webserver on another one). Is there any documentation about this kind of installation for BOFC? The installation guide i have just include the standalone installation.
Please somebody give me a tipp...
Thanks in advance
DanyHi Dany
In my mind there is nothing special between installation on seperate database server. You just have to notice that it will not work with domain users. You have to create a special user on the sql server. -
Event Gateways missing from CF Administrator
I see other people have had this issue but I have not seen a
solution posted ...
I do not have any "Event Gateway" options in my CF
Administrator - nothing at all - no links on the left under Data
& Services or anywhere else.
Please ... any suggestions! Please!!!Only the Enterprise edition has the Gateway feature enabled.
if you are running Standard Edition, you will not see links to
Event Gateway, because they are not available. -
Multiserver environment account
What is the best practise as to choosing an account that will be used to set up a multiserver environment?For instance, I'm the DBA my account is an sa in most servers. Should I use my domain account? What about when I leave the company. What is the recommendation?
I understand the different groups under msdb and that the target servers will be added there once enlisted. My question is in regards to the account used logged on the master server to enlist and later create the msx jobs.
Couldn't find anything useful in the literature.
Thanks
PaulaHello Paula,
The recommendation is to use different domain account as a service account for the different SQL Server services (Engine, Agent, AS, etc.). This account should be setup with minimum permissions. For reference use
this link. If you are worried for the setup itself - it does not matter - the important thing is to run the installation process with an account that has enough permissions on the operating system layer (like Local Admin for instance :-) ) and also point
out a sysadmin account (and/or sa password if you use Mixed authentication). Once installed, sysadmin accounts can be changed, I usually use one domain group, that I grant sysadmin permissions over all SQL Servers and then only administer the AD group membership
instead of going over all SQL Servers.
Ivan Donev MCT and MCSE Data Platform -
I keep getting my cfc file not found on my Gateway Instance
screen. Here is my set up:
Gateway ID: gal
Gateway TYpe: DirectoryWatcher-Watches a dire for file
changes
CFC Path: C:\Inetpub\wwwroot\myproject\gal\
Configuration File: C:\Inetpub\wwwroot\myproject\gal\gal.cfg
Startup Mode: Automatic
and when I click on Add Gateway Instance, i got "Error
creating event gateway instance.Event CFC file not found:
c:\inetpub\wwwroot\myproject\gal
Both of my gal.cfg and gal.cfc are under
C:\Inetpub\wwwroot\myproject\gal\ folder.
gal.cfg:
directory=c:/Inetpub/wwwroot/myproject/gal/dir_tobe_watched
recurse=no
interval=10
extensions=*
addFunction=onAdd
deleteFunction=onDelete
changeFunction=onChange
gal.cfc:
<cfcomponent>
<cffunction name="onAdd">
<CFDIRECTORY Directory=
"#GetDirectoryFromPath(GetTemplateFromPath())#" NAME="MyDirectory"
ACTION="List" FILTER="">
<CFTABLE QUERY="MyDirectory" HTMLTABLE COLHEADERS>
<CFCOL HEADER="Name" TEXT="#Name#">
<CFCOL HEADER="Type" TEXT="#Type#">
<CFCOL HEADER="Size" TEXT="#Size#">
</CFTABLE>
<CFLOOP QUERY="MyDirectory">
<CFFILE ACTION="Copy"
SOURCE="C:\Inetpub\wwwroot\myproject\gal\dir_tobe_watched\"
DESTINATION="C:\Inetpub\wwwroot\myprojects\copyto_dir\"
NAMECONFLICT="Overwrite">
</CFLOOP>
</cffunction>
</cfcomponent>Hi Norma,
PayPal unfortunately can't be used for event registrations. Only seamless gateways, such as Authorize.net can be used in this case. This is true for all web forms.
You could use PayPal Express and embed a hidden form into a page with the PayPal button, but in this case the customer info will not be recorded inside CRM and BC site will have no knowledge of the payment. Everything would have to be entered into CRM manually. With this solution you could use webMarketing plan which is cheaper.
Cheers,
-mario -
How Do You Assume A Session From Event Gateways?
I am using event gateways to send and receive via SMS, IM,
and Email. I can go back and forth just fine, and if the client
initiates the session, session persistence is not a problem.
Sometimes, though, we need the server to initiate the session
and the client to assume that session so we don't have to
re-establish the thread before we move on.
For example, if the client says "Approve John Doe" for
something, the bot can respond with "John Doe found. Reply with A
for admin rights, W for web rights", and so on. Because the client
established the session, replies are cemented in the bots brain so
they know if an "A" is returned, it will give John Doe Admin
access.
The trouble is if the SERVER initiates the call to the IM
Client: "This is the server speaking. John Doe is attempting to
access the double-secret files. Reply with A to Allow or X to send
10,000 volts to their computer". Reply with A and the bot will
respond with, basically, "request unknown" because the client
actually initiated a new session and nothing the server said was
heard or can be viewed by the client.
When the server creates a session in the event gateway, there
also appears to be no sessionid, cfid, or cftoken. Especially for
SMS, it's difficult to pass a UUID or specially coded variable for
the client to use to at least search and retrieve the particulars
of the event.
So, how does one get a CLIENT IM, Email or SMS to assume the
Session from the server?
Alternative solutions welcomed!
RLSBKBK,
Thank you for your response. That does adequately cover the
client-originated sessions, but still leaves the ability I am
looking for unavailable.
It did serve to definitively answer my most pressing
question, however, with this statement:
Note: ColdFusion cannot create a session if an initiator
application uses a SendGatewayMessage method to start an
interaction with a client, such as an SMS user. In this case, the
sending code must keep track (for example, in a database) of the
messages it sends and their destinations. When a response event
arrives, it can look up the origniatorID to determine whether it
was in response to an outgoing message.
I will play around with the Application scope to see if there
might be a workable solution there.
RLS
Maybe you are looking for
-
Multiple Copy to Print on Oracle 9iAS Report
Dear Friends When I an Trying to Print a Report on Oracle 9iAS, and Pass the Parameter More than One in Numbers of Copies it returns error wirh Error Code 1 Report Error Code REP-50157, After Each Page One Blank Page Printed, On some documenttaion th
-
Dear all, My query is , At the time of GR the CST is added in the GRIR Clearing a/c, Instead of that the requirement is , it should be posted in different GL A/C . Now :- STORES & SPARES A/C Dr. 105 GR/IR
-
Firewall ports for Nexus 1000v
hi all, There is firewall between nexus 1000v and vcentre and ESX 4.1i hosts. Could u pls advise which TCP/UDP ports to be opened for communication among Nexus1000v, vcentre and ESX hosts? Thank you very much! Best Regards,
-
DPF portfolio with fillable dependable pdf forms.
Hi all! I have pdf portfolio with some fillable pdf forms in it. This portfolio is generated via LiveCycle services. All of these pdf forms have equivalent fields. For example: portfolio consists of pdfX, pdfY, pfdZ. And every pdf have fillable field
-
I've just bought iRig and I can't get it work with my Macbook Air. It's working with iOs, but when I plug into my Macbook Air nothing it's happening. I went to System-Preferences -> Audio and I can't see nothing signed as External Microphone. I read