# Generating WebLogic RFID Enterprise Server Reports

# Tuning

The Reporting Service Console returns a maximum of 100,000 records. If your query returns more than 100,000 records you will be prompted to refine your criteria so that fewer records are returned.

Depending on your system configuration and the size of your event repository, the default settings for database query timeouts may need to be adjusted. If you run a report which results in a timeout exception on the Console, you can modify two settings to give the query more time to run, as explained in the following sections:

- Modifying the Transaction Timeout on the EJB
- Modifying the Timeout for Database Transactions

## Modifying the Transaction Timeout on the EJB

In `[BEA HOME]\user_projects\applications\[DOMAIN NAME]\epcis-lib.ear\epcis-reports-ejb.jar\META-INF\weblogic-ejb-jar.xml` you can modify the transaction timeout on the Enterprise Java Bean (EJB). By default, this is 30 seconds. To change it, uncomment the `<transaction-descriptor>` element in the deployment descriptor, as shown in Listing 7-1, and set the value to one that is more appropriate for your system and usage.

Listing 7-1 Value to Adjust to Modify the Transaction Timeout on the EJB

    <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <weblogic-enterprise-bean>
            <ejb-name>Reports</ejb-name>
            <stateless-session-descriptor />
            <!--<transaction-descriptor>
                <trans-timeout-seconds>30</trans-timeout-seconds>
            </transaction-descriptor>-->
            <enable-call-by-reference>true</enable-call-by-reference>
        </weblogic-enterprise-bean>
        <weblogic-compatibility>
            <entity-always-uses-transaction>true
            </entity-always-uses-transaction>
        </weblogic-compatibility>
    </weblogic-ejb-jar>

## Modifying the Timeout for Database Transactions

The default timeout for database transactions is 180 seconds. You can adjust that value in the file `[BEA HOME]``\user_projects\applications\``[DOMAIN NAME]``\kodo.ear\kodo.rar\META-INF\ra.xml`. To modify the timeout, change the QueryTimeout value in the <config-property-value> element, as shown in Listing 7-2.

Listing 7-2 Value to Adjust to Modify the Timeout for Database Transactions

    <config-property>
        <description>A comma-separated list of properties used to configure the
        javax.sql.DataSource used as the ConnectionFactory. Each property
        should be of the form "key=value", where "key" is the name of some     bean-like property of the data source.</description>
        <config-property-name>ConnectionFactoryProperties
        </config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>MaxActive=60, MaxIdle=10, QueryTimeout=180
        </config-property-value>
    </config-property>

Running reports against a high-volume production database may have performance implications. See you BEA representative for more information.