|
This section contains information on the following subjects:
The load generator is a simple utility provided by WebLogic Event Server to simulate a data feed. The utility is useful for testing the EPL rules in your application without needing to connect to a real-world data feed.
The load generator reads an ASCII file that contains the sample data feed information and sends each data item to the configured port. The load generator reads items from the sample data file in order and inserts them into the stream, looping around to the beginning of the data file when it reaches the end; this ensures that a continuous stream of data is available, regardless of the number of data items in the file. You can configure the rate of sent data, from the rate at which it starts, the final rate, and how long it takes the load generator to ramp up to the final rate.
In your application, you must use the WebLogic Event Server-provided csvgen adapter, rather than your own adapter, to read the incoming data; this is because the csvgen adapter is specifically coded to decipher the data packets generated by the load generator.
To use the load generator, follow these steps:
WebLogic Event Server provides a default property file you can use if the default property values are adequate.
See Creating a Load Generator Property File.
See Creating a Data Feed File.
csvgen adapter so that it correctly reads the data feed generated by the load generator. You configure the adapter in the EPN assembly file that describes your WebLogic Event Server application.See Configuring the csvgen Adapter in Your Application.
WLEVS_HOME\utils\load-generator directory, where WLEVS_HOME refers to the main WebLogic Event Server installation directory, such as d:\beahome\wlevs20.c:\loadgen\myDataFeed.prop, execute the following command:prompt> runloadgen.cmd c:\loadgen\myDataFeed.prop
If you redploy your application, you must also restart the load generator.
The load generator uses an ASCII properties file for its configuration purposes. Properties include the location of the file that contains the sample data feed values, the port to which the utility should send the data feed, and so on.
WebLogic Event Server provides a default properties file called csvgen.prop, located in the WLEVS_HOME\utils\load-generator directory, where WLEVS_HOME refers to the main WebLogic Event Server installation directory, such as d:\beahome\wlevs20.
The format of the file is simple: each property-value pair is on its own line. The following example shows the default csvgen.prop file; BEA recommends you use this file as template for your own property file:
test.csvDataFile=test.csv
test.port=9001
test.packetType=CSV
test.mode=client
test.senders=1
test.latencyStats=false
test.statInterval=2000
| WARNING: | If you create your own properties file, you must include the test.packetType, test.mode, test.senders, test.latencyStats, and test.statInterval properties exactly as shown above. |
In the preceding sample properties file, the file that contains the sample data is called test.csv and is located in the same directory as the properties file. The load generator will send the data feed to port 9001.
The following table lists the additional properties you can set in your properties file.
The file that contains the sample data feed values correspond to the event type registered for your WebLogic Event Server application. The file follows a simple format:
The following example shows a sample data feed file where each item corresponds to a person with name, age, and birthplace fields:
Lucy,23,Madagascar
Nick,44,Canada
Amanda,12,Malaysia
Juliet,43,Spain
Horatio,80,Argentina
You must use the csvgen adapter in your application because this WebLogic Event Server-provided adapter is specifically coded to read the data packets generated by the load generator.
You register the csvgen adapter using the <wlevs:adapter> tag in the EPN assembly file of your application, as with all adapters. Use the provider="csvgen" attribute to specify that the provider is the csvgen adapter, rather than your own adapter. Additionally, you must specify the following child tags:
<wlevs:instance-property name="port" value=configured_port>, where configured_port corresponds to the value of the test.port property in the load generator property file. See Creating a Load Generator Property File.<wlevs:instance-property name="eventTypeName" value=event_type_name>, where event_type_name corresponds to the name of the event type that represents an item from the load-generated feed.<wlevs:instance-property name="eventPropertyNames" value=ordered_list_of_properties>, where ordered_list_of_properties lists the names of the properties in the order that the load generator sends them, and consequently the csvgen adapter receives them.
Before showing an example of how to configure the adapter, first assume that your application registers an event type called PersonType in the EPN assembly file using the <wlevs:metada> method as shown:
<wlevs:event-type-repository>
<wlevs:event-type type-name="PersonType">
<wlevs:metadata>
<entry key="name" value="java.lang.String"/>
<entry key="age" value="java.lang.Integer"/>
<entry key="birthplace" value="java.lang.String"/>
</wlevs:metadata>
</wlevs:event-type>
</wlevs:event-type-repository>
This event type corresponds to the data feed file shown in Creating a Data Feed File.
To configure the csvgen adapter that receives this data, use the following <wlevs:adapter> tag:
<wlevs:adapter id="csvgenAdapter" provider="csvgen">
<wlevs:instance-property name="port" value="9001"/>
<wlevs:instance-property name="eventTypeName" value="PersonType"/>
<wlevs:instance-property name="eventPropertyNames"
value="name,age,birthplace"/>
</wlevs:adapter>
Note how the bolded values in the adapter configuration example correspond to the PersonType event type registration.
If you use <wlevs:class> to specify your own JavaBean when registering the event type, then the eventPropertyNames value corresponds to the JavaBean properties. For example, if your JavaBean has a getName() method, then one of the properties of your JavaBean is name.
|