What does your <weblogic> element under build.xml look like? There is an error in the template file for weblogic-ejb-jar.xml for XDoclet 1.2.3. I have attached a version of it with the correction necessary to generate the <isolation-level> output at the method level.
Here is what I used in my build.xml with your example
and it worked fine.
<target name="ejbdoclet" ...blah, blah, blah...>
<ejbdoclet>
...blah, blah, blah...
<weblogic destDir="${src.ejb-meta-inf.dir}"
mergeDir="${xdoclet.merge.dir}"
templateFile="${weblogic.template.file}"
validateXML="true"
version="8.1"
createtables="Disabled"
xmlencoding="UTF-8"
/>
</ejbdoclet>
It did not matter if I put the
@weblogic.transaction-isolation
TRANSACTION_READ_COMMITTED
tag at the class or method level or both. In all
three cases, my <isolation-level> element was not
empty, but contained TRANSACTION_READ_COMMITTED as
expected.
CLASS LEVEL OUTPUT:
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<description><![CDATA[Transaction isolation
for SSBFacade]]></description>
<ejb-name>SSBFacade</ejb-name>
<method-name>*</method-name>
</method>
</transaction-isolation>
BOTH CLASS AND METHOD LEVEL OUTPUT:
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<description><![CDATA[Transaction isolation
for SSBFacade]]></description>
<ejb-name>SSBFacade</ejb-name>
<method-name>*</method-name>
</method>
</transaction-isolation>
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<description><![CDATA[]]></description>
<ejb-name>SSBFacade</ejb-name>
<method-intf>Remote</method-intf>
<method-name>loadAll</method-name>
<method-params>
</method-params>
</method>
</transaction-isolation>
METHOD LEVEL OUTPUT:
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<description><![CDATA[]]></description>
<ejb-name>SSBFacade</ejb-name>
<method-intf>Remote</method-intf>
<method-name>loadAll</method-name>
<method-params>
</method-params>
</method>
</transaction-isolation>
Thanks.
--- Tao Xie <[EMAIL PROTECTED]> wrote:
> I have 2 EJBs coded with XDoclet 1.2.3 and their
> deploy target is weblogic
> 8.1sp2
> TransactionLogBean - BMP bean, everything works
> fine, including @
> weblogic.transaction-isolation tag;
> SSBFacadeBean - a Stateless Session bean. I got 2
> troubles.
> 1) If I set @ejb.transaction tag to class-level, it
> doesn't work. So I have
> to set it method-level as a workaround.
> 2) Whatever I tried with
> @weblogic.transaction-isolation tag. xdoclet
> ignores the setting - TRANSACTION_READ_COMMITTED ,
> generated
> weblogic-ejb-jar.xml has an empty <isolation-level>
> block. Of course,
> weblogic.ejbc complains about it.
> Thanks in advance!
>
> <transaction-isolation>
>
> <isolation-level></isolation-level>
>
> <method>
> <description><![CDATA[]]></description>
> <ejb-name>SSBFacade</ejb-name>
> <method-intf>Remote</method-intf>
> <method-name>loadAll</method-name>
> <method-params>
> </method-params>
> </method>
> </transaction-isolation>
> The code snippet is as below
>
> import java.util.ArrayList;
> import java.util.Collection;
> import java.util.Iterator;
>
> /**
> * @ejb.bean
> * type="Stateless"
> * name="SSBFacade"
> * jndi-name="ejb/SSBFacade"
> * transaction-type="Container"
> *
> * @weblogic.transaction-isolation
> TRANSACTION_READ_COMMITTED
> */
>
> /**
> * make sure method call is in a transaction context
> */
> public class SSBFacadeBean implements SessionBean {
>
> private static final String SELECT_ALL_SQL = "SELECT
> account_id,
> holder_name, balance FROM UserAccount";
> private static final String SELECT_SQL = "SELECT
> account_id, holder_name,
> balance FROM UserAccount WHERE account_id = ?";
> private static final String dsName = "oracleDS";
>
>
> /**
> * @ejb.interface-method
> * view-type="remote"
> * @ejb.transaction
> * type="Required"
> * @weblogic.transaction-isolation
> TRANSACTION_READ_COMMITTED
> */
> public Collection loadAll() {
> log("loadAll()...");
> Connection conn = null;
> PreparedStatement ps = null;
> ResultSet rs = null;
> try {
>
> ArrayList result = new ArrayList();
>
__________________________________
Yahoo! Music Unlimited
Access over 1 million songs. Try it free.
http://music.yahoo.com/unlimited/
weblogic-ejb-jar-xml.xdt
Description: 2446731076-weblogic-ejb-jar-xml.xdt
