Board index » jbuilder » missing WL properties in JB X

missing WL properties in JB X


2003-12-13 02:15:34 AM
jbuilder19
I am evaluating Jbuilder X Ent (currently using JB 6). There is no place
where I can set 2 very important Weblogic EJB properties for
<weblogic-rdbms-bean>. Both <enable-database-operations>and
<order-database-operations>are unavailable in any of the WL dd editor tabs.
When I try to add either directly in the dd xml file
weblogic-cmp-rdmbs-jar.xml, I get an error saying 'content of element type
"weblogic-rdbms-bean" must match "(ejb-name....)" Neither of these
properties are in the list.
In our application, we have 2 beans where we must change the default
<delay-database-insert-until>to ejbCreate. Well, that only works in
Weblogic 8.1 if you can mess with <order-database-operations>and
<enable-database-operations>because the defaults for these properties must
be changed as well.
How can I add these 2 properties to my descriptor?
Thanks in advance.
 
 

Re:missing WL properties in JB X

Unlike previous versions of JBuilder, JBX has full two-way
editing of the descriptor files. So if you cannot find a
way to do something with the GUI, you can always edit the
descriptors directly and those changes will persist.
From the error message, it sounds like the validation
against the DTD is reporting that your changes were entered
incorrectly.
"Bernie E" < XXXX@XXXXX.COM >wrote in message
I am evaluating Jbuilder X Ent (currently using JB 6).
There is no place
where I can set 2 very important Weblogic EJB properties for
<weblogic-rdbms-bean>. Both <enable-database-operations>and
<order-database-operations>are unavailable in any of the WL
dd editor tabs.
When I try to add either directly in the dd xml file
weblogic-cmp-rdmbs-jar.xml, I get an error saying 'content
of element type
"weblogic-rdbms-bean" must match "(ejb-name....)" Neither
of these
properties are in the list.
In our application, we have 2 beans where we must change the
default
<delay-database-insert-until>to ejbCreate. Well, that only
works in
Weblogic 8.1 if you can mess with
<order-database-operations>and
<enable-database-operations>because the defaults for these
properties must
be changed as well.
How can I add these 2 properties to my descriptor?
Thanks in advance.
 

Re:missing WL properties in JB X

Bill,
Thanks for your response. I misnamed one of the elements in my previous
post - it should be <enable-batch-operations>, not
<enable-database-operations>(typed it up wrong in the post, but was using
the correct element name in my test). I checked the DTD, and both of these
elements are part of WL 8.1's DTD file.
As for two-way editing, it does not seem to work. I can put in these
elements, but I do get an error as pointed out below. It doesn't seem like
JBuilder is validating against the DTD, but rather some internal references
to available elements. Also, if I go back to the visual module editor, and
change an element that is available, it blows away my changes the I made to
the XML file itself.
This can be easily reproduced by:
1 - creating a CMP 2.0 bean
2 - seeing if you can find the two elements I'm referring to in the Visual
DD Edtior. In WL 8.1, the <delay-inserts-...>and <delay-updates-...>
elements have no effect unless you set the other 2 elements properly
(different from the defaults) as well. They're not there.
3 - edit your weblogic-cmp-rdbms-jar file directly and add the elements.
You will get an error, but you can save.
4 - Go to Visual Module DD Editor and change any property and hit save.
5 - Go back to source editing of weblogic-cmp-rdbms-jar.xml. Your manual
changes are gone.
How is this 2-way editing??
"Bill Joy" < XXXX@XXXXX.COM >wrote in message
Quote
Unlike previous versions of JBuilder, JBX has full two-way
editing of the descriptor files. So if you cannot find a
way to do something with the GUI, you can always edit the
descriptors directly and those changes will persist.

From the error message, it sounds like the validation
against the DTD is reporting that your changes were entered
incorrectly.


"Bernie E" < XXXX@XXXXX.COM >wrote in message
news:3fda0623$ XXXX@XXXXX.COM ...
I am evaluating Jbuilder X Ent (currently using JB 6).
There is no place
where I can set 2 very important Weblogic EJB properties for
<weblogic-rdbms-bean>. Both <enable-database-operations>and
<order-database-operations>are unavailable in any of the WL
dd editor tabs.

When I try to add either directly in the dd xml file
weblogic-cmp-rdmbs-jar.xml, I get an error saying 'content
of element type
"weblogic-rdbms-bean" must match "(ejb-name....)" Neither
of these
properties are in the list.

In our application, we have 2 beans where we must change the
default
<delay-database-insert-until>to ejbCreate. Well, that only
works in
Weblogic 8.1 if you can mess with
<order-database-operations>and
<enable-database-operations>because the defaults for these
properties must
be changed as well.

How can I add these 2 properties to my descriptor?

Thanks in advance.



 

{smallsort}

Re:missing WL properties in JB X

You're right about the two-way editing -- that feature is
not yet available in JBuilder X.
Here is a response I got back about this from the JBuilder
J2EE group:
Jbuilder X DD Editor supports those persistence properties.
I could not reproduce this bug. If you edit the deployment
descriptor, be sure to write this properties at the correct
place and to the correct weblogic DD file !! (see sample
below)
Where to find those properties in the Weblogic visual DD
editor ?
Weblogic Persistence properties can be applied either at Ejb
Module level of bean level.
"enable-batch-operations" or "order-database-operations" are
EJB module persistence properties.
1) Open the DD Editor
2) Switch to the Weblogic tab,
You have a section called "RDBMS settings"
The field "Order database operations" maps
"order-database-operations"
The field "Perform batch operations" maps
"enable-batch-operations"
Both properties are written out to the
Weblogic-cmp-rdbms-jar.xml (see sample below)
"delay-database-insert-until" and
"delay-updates-until-end-of-tx" are located at the bean
level.
1) Open the DD Editor for the specific bean (double-click on
the displayed bean in the structure pane)
2) Switch to the "Weblogic Persistence" tab.
"Ejb Settings" section has a field "Delay updates until end
of transaction" which maps "delay-updates-until-end-of-tx"
property (written out to the Weblogic-ejb-jar.xml)
"Container managed persistence" section has a field "delay
database insert until" which maps
"delay-database-insert-until" property (written out to the
Weblogic-cmp-rdbms-jar.xml)
====================================
Weblogic-ejb-jar.xml
====================================
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Enterprise1</ejb-name>
<entity-descriptor>
<persistence>
<delay-updates-until-end-of-tx>false</delay-updates-until-en
d-of-tx>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-stor
age>
</persistence-use>
</persistence>
</entity-descriptor>
<local-jndi-name>Enterprise1</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
====================================
Weblogic-cmp-rdbms-jar.xml
====================================
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>Employee</ejb-name>
<data-source-name>DataSource</data-source-name>
<table-map>
<table-name>EMPLOYEE</table-name>
<field-map>
<cmp-field>deptNo</cmp-field>
<dbms-column>DEPT_NO</dbms-column>
</field-map>
...
</table-map>
<delay-database-insert-until>ejbCreate</delay-database-inser
t-until>
</weblogic-rdbms-bean>
<order-database-operations>false</order-database-operations>
<enable-batch-operations>true</enable-batch-operations>
</weblogic-rdbms-jar>
 

Re:missing WL properties in JB X

Bill,
Again, thanks for forwarding this to the J2EE group. In looking at the
example you posted, I now see the disconnect. Jbuilder has the properties
for <order-database-operations>and <enable-batch-operations>against the
wrong parent element. It's in the right file weblogic-cmp-rdmbs-jar.xml,
but the parent should be <weblogic-rdbms-bean>, not <weblogic-rdbms-jar>. I
see them in the xml soure editor inspector if I try to put them underneath
the <weblogic-rdbms-jar>element.
If the person who tested this tried to deploy against Weblogic, the
deployment would have failed (as it did for me). BTW, this was also a
problem in JB9, which prevented me from upgrading then as well. Anyone who
has to change the delay inserts or update properties (which is common in
many transactional systems) is going to have this same problem. If you check
BEA's DTD, the parent is indeed <weblogic-rdbms-bean>for those 2
properties.
Also, I'm not sure I fully understand your comment about the 2-way editing.
So, it's not available in JB X?
Thanks again for you help on this.
Bernie
"Bill Joy" < XXXX@XXXXX.COM >wrote in message
Quote
You're right about the two-way editing -- that feature is
not yet available in JBuilder X.

Here is a response I got back about this from the JBuilder
J2EE group:

Jbuilder X DD Editor supports those persistence properties.

I could not reproduce this bug. If you edit the deployment
descriptor, be sure to write this properties at the correct
place and to the correct weblogic DD file !! (see sample
below)



Where to find those properties in the Weblogic visual DD
editor ?

Weblogic Persistence properties can be applied either at Ejb
Module level of bean level.

"enable-batch-operations" or "order-database-operations" are
EJB module persistence properties.
1) Open the DD Editor
2) Switch to the Weblogic tab,

You have a section called "RDBMS settings"
The field "Order database operations" maps
"order-database-operations"
The field "Perform batch operations" maps
"enable-batch-operations"

Both properties are written out to the
Weblogic-cmp-rdbms-jar.xml (see sample below)




"delay-database-insert-until" and
"delay-updates-until-end-of-tx" are located at the bean
level.
1) Open the DD Editor for the specific bean (double-click on
the displayed bean in the structure pane)
2) Switch to the "Weblogic Persistence" tab.

"Ejb Settings" section has a field "Delay updates until end
of transaction" which maps "delay-updates-until-end-of-tx"
property (written out to the Weblogic-ejb-jar.xml)

"Container managed persistence" section has a field "delay
database insert until" which maps
"delay-database-insert-until" property (written out to the
Weblogic-cmp-rdbms-jar.xml)




====================================
Weblogic-ejb-jar.xml
====================================
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Enterprise1</ejb-name>
<entity-descriptor>
<persistence>


<delay-updates-until-end-of-tx>false</delay-updates-until-en
d-of-tx>

<persistence-use>

<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>

<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-stor
age>
</persistence-use>
</persistence>
</entity-descriptor>
<local-jndi-name>Enterprise1</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>




====================================
Weblogic-cmp-rdbms-jar.xml
====================================

<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>Employee</ejb-name>
<data-source-name>DataSource</data-source-name>
<table-map>
<table-name>EMPLOYEE</table-name>
<field-map>
<cmp-field>deptNo</cmp-field>
<dbms-column>DEPT_NO</dbms-column>
</field-map>

...

</table-map>


<delay-database-insert-until>ejbCreate</delay-database-inser
t-until>

</weblogic-rdbms-bean>


<order-database-operations>false</order-database-operations>
<enable-batch-operations>true</enable-batch-operations>

</weblogic-rdbms-jar>




 

Re:missing WL properties in JB X

I could not reproduce this bug !!
I set my JBuilderX project to Wl8.1sp1 server.
<order-database-operations>and <enable-batch-operations>have the correct parent element : weblogic-rdbms-jar !!
Those properties have been introduced since WL8.1
Refering to the current Weblogic public URI location www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd
<!ELEMENT weblogic-rdbms-jar (
weblogic-rdbms-bean+,
weblogic-rdbms-relation*,
order-database-operations?,
enable-batch-operations?,
create-default-dbms-tables?,
validate-db-schema-with?,
database-type?,
default-dbms-tables-ddl?,
compatibility?
)>
I made a quick test where I created a CMP20 bean from a database and I set those properties.
1) The WL APPC compiler have successfully compiled this ejb module archive
2) I also successfully deployed the archive !!
=======================================================
<delay-updates-until-end-of-tx>is a child element of <persistence>. This is a global property which applies to all beans.
Once again, refers to the current
www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd
<!ELEMENT persistence (
is-modified-method-name?,
delay-updates-until-end-of-tx?,
finders-load-bean?,
persistence-use?)
Quote

I successfully built and redeployed this archive with this properties set !!
========================================================
I agree with you : <delay-database-insert-until>has <weblogic-rdbms-bean>
<!ELEMENT weblogic-rdbms-bean (
ejb-name,
data-source-name,
table-map+,
field-group*,
relationship-caching*,
weblogic-query*,
delay-database-insert-until?,
use-select-for-update?,
lock-order?,
instance-lock-order?,
automatic-key-generation?,
check-exists-on-method?
)>
I successfully built and redeployed this archive with this properties set !!
==========================================================
I'm not sure what is your configuration (Weblogic server, database...)
Regards
Herve
"Bernie E" < XXXX@XXXXX.COM >wrote:
Quote
Bill,

Again, thanks for forwarding this to the J2EE group. In looking at the
example you posted, I now see the disconnect. Jbuilder has the properties
for <order-database-operations>and <enable-batch-operations>against the
wrong parent element. It's in the right file weblogic-cmp-rdmbs-jar.xml,
but the parent should be <weblogic-rdbms-bean>, not <weblogic-rdbms-jar>. I
see them in the xml soure editor inspector if I try to put them underneath
the <weblogic-rdbms-jar>element.

If the person who tested this tried to deploy against Weblogic, the
deployment would have failed (as it did for me). BTW, this was also a
problem in JB9, which prevented me from upgrading then as well. Anyone who
has to change the delay inserts or update properties (which is common in
many transactional systems) is going to have this same problem. If you check
BEA's DTD, the parent is indeed <weblogic-rdbms-bean>for those 2
properties.

Also, I'm not sure I fully understand your comment about the 2-way editing.
So, it's not available in JB X?

Thanks again for you help on this.

Bernie

"Bill Joy" < XXXX@XXXXX.COM >wrote in message
news:3fde6b0b$ XXXX@XXXXX.COM ...
>You're right about the two-way editing -- that feature is
>not yet available in JBuilder X.
>
>Here is a response I got back about this from the JBuilder
>J2EE group:
>
>Jbuilder X DD Editor supports those persistence properties.
>
>I could not reproduce this bug. If you edit the deployment
>descriptor, be sure to write this properties at the correct
>place and to the correct weblogic DD file !! (see sample
>below)
>
>
>
>Where to find those properties in the Weblogic visual DD
>editor ?
>
>Weblogic Persistence properties can be applied either at Ejb
>Module level of bean level.
>
>"enable-batch-operations" or "order-database-operations" are
>EJB module persistence properties.
>1) Open the DD Editor
>2) Switch to the Weblogic tab,
>
>You have a section called "RDBMS settings"
>The field "Order database operations" maps
>"order-database-operations"
>The field "Perform batch operations" maps
>"enable-batch-operations"
>
>Both properties are written out to the
>Weblogic-cmp-rdbms-jar.xml (see sample below)
>
>
>
>
>"delay-database-insert-until" and
>"delay-updates-until-end-of-tx" are located at the bean
>level.
>1) Open the DD Editor for the specific bean (double-click on
>the displayed bean in the structure pane)
>2) Switch to the "Weblogic Persistence" tab.
>
>"Ejb Settings" section has a field "Delay updates until end
>of transaction" which maps "delay-updates-until-end-of-tx"
>property (written out to the Weblogic-ejb-jar.xml)
>
>"Container managed persistence" section has a field "delay
>database insert until" which maps
>"delay-database-insert-until" property (written out to the
>Weblogic-cmp-rdbms-jar.xml)
>
>
>
>
>====================================
>Weblogic-ejb-jar.xml
>====================================
><weblogic-ejb-jar>
><weblogic-enterprise-bean>
><ejb-name>Enterprise1</ejb-name>
><entity-descriptor>
><persistence>
>
>
><delay-updates-until-end-of-tx>false</delay-updates-until-en
>d-of-tx>
>
><persistence-use>
>
><type-identifier>WebLogic_CMP_RDBMS</type-identifier>
><type-version>6.0</type-version>
>
><type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-stor
>age>
></persistence-use>
></persistence>
></entity-descriptor>
><local-jndi-name>Enterprise1</local-jndi-name>
></weblogic-enterprise-bean>
></weblogic-ejb-jar>
>
>
>
>
>====================================
>Weblogic-cmp-rdbms-jar.xml
>====================================
>
><weblogic-rdbms-jar>
><weblogic-rdbms-bean>
><ejb-name>Employee</ejb-name>
><data-source-name>DataSource</data-source-name>
><table-map>
><table-name>EMPLOYEE</table-name>
><field-map>
><cmp-field>deptNo</cmp-field>
><dbms-column>DEPT_NO</dbms-column>
></field-map>
>
>...
>
></table-map>
>
>
><delay-database-insert-until>ejbCreate</delay-database-inser
>t-until>
>
></weblogic-rdbms-bean>
>
>
><order-database-operations>false</order-database-operations>
><enable-batch-operations>true</enable-batch-operations>
>
></weblogic-rdbms-jar>
>
>
>
>


 

Re:missing WL properties in JB X

Guys,
JBuilder X supports <enable-batch-operations>and><order-database-operations>. They can be edited using GUi and it works well on wls8.1
The steps are
Click on the EJB module, so that the ejb designer appears in the pane.
Click on "EJB Module DD Editor" tab, located at the bottom of the designer pane.
The struture pane will appear on the left pane.
Double click on the module name link in the structure pane( Make sure you arenot clicking in Project Explorer Pane).
Now you will be able to see the properties for your module, inthe right pane(main window).
This pane has two options , standard and weblogic. Click on weblogic. Here you can set the <enable-batch-operations>and><order-database-operations>and some more too!!!!!
Have fun and mail me for your weblogic/jbuilder problems. I enjoy solving them.
Nav
"herve" < XXXX@XXXXX.COM >wrote:
Quote


I could not reproduce this bug !!
I set my JBuilderX project to Wl8.1sp1 server.


<order-database-operations>and <enable-batch-operations>have the correct parent element : weblogic-rdbms-jar !!

Those properties have been introduced since WL8.1

Refering to the current Weblogic public URI location www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd

<!ELEMENT weblogic-rdbms-jar (
weblogic-rdbms-bean+,
weblogic-rdbms-relation*,

order-database-operations?,
enable-batch-operations?,

create-default-dbms-tables?,
validate-db-schema-with?,
database-type?,
default-dbms-tables-ddl?,
compatibility?
)>


I made a quick test where I created a CMP20 bean from a database and I set those properties.
1) The WL APPC compiler have successfully compiled this ejb module archive
2) I also successfully deployed the archive !!



=======================================================
<delay-updates-until-end-of-tx>is a child element of <persistence>. This is a global property which applies to all beans.

Once again, refers to the current
www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd

<!ELEMENT persistence (
is-modified-method-name?,
delay-updates-until-end-of-tx?,
finders-load-bean?,
persistence-use?)
>

I successfully built and redeployed this archive with this properties set !!

========================================================

I agree with you : <delay-database-insert-until>has <weblogic-rdbms-bean>

<!ELEMENT weblogic-rdbms-bean (
ejb-name,
data-source-name,
table-map+,
field-group*,
relationship-caching*,
weblogic-query*,

delay-database-insert-until?,

use-select-for-update?,
lock-order?,
instance-lock-order?,
automatic-key-generation?,
check-exists-on-method?
)>

I successfully built and redeployed this archive with this properties set !!

==========================================================

I'm not sure what is your configuration (Weblogic server, database...)

Regards

Herve




"Bernie E" < XXXX@XXXXX.COM >wrote:
>Bill,
>
>Again, thanks for forwarding this to the J2EE group. In looking at the
>example you posted, I now see the disconnect. Jbuilder has the properties
>for <order-database-operations>and <enable-batch-operations>against the
>wrong parent element. It's in the right file weblogic-cmp-rdmbs-jar.xml,
>but the parent should be <weblogic-rdbms-bean>, not <weblogic-rdbms-jar>. I
>see them in the xml soure editor inspector if I try to put them underneath
>the <weblogic-rdbms-jar>element.
>
>If the person who tested this tried to deploy against Weblogic, the
>deployment would have failed (as it did for me). BTW, this was also a
>problem in JB9, which prevented me from upgrading then as well. Anyone who
>has to change the delay inserts or update properties (which is common in
>many transactional systems) is going to have this same problem. If you check
>BEA's DTD, the parent is indeed <weblogic-rdbms-bean>for those 2
>properties.
>
>Also, I'm not sure I fully understand your comment about the 2-way editing.
>So, it's not available in JB X?
>
>Thanks again for you help on this.
>
>Bernie
>
>"Bill Joy" < XXXX@XXXXX.COM >wrote in message
>news:3fde6b0b$ XXXX@XXXXX.COM ...
>>You're right about the two-way editing -- that feature is
>>not yet available in JBuilder X.
>>
>>Here is a response I got back about this from the JBuilder
>>J2EE group:
>>
>>Jbuilder X DD Editor supports those persistence properties.
>>
>>I could not reproduce this bug. If you edit the deployment
>>descriptor, be sure to write this properties at the correct
>>place and to the correct weblogic DD file !! (see sample
>>below)
>>
>>
>>
>>Where to find those properties in the Weblogic visual DD
>>editor ?
>>
>>Weblogic Persistence properties can be applied either at Ejb
>>Module level of bean level.
>>
>>"enable-batch-operations" or "order-database-operations" are
>>EJB module persistence properties.
>>1) Open the DD Editor
>>2) Switch to the Weblogic tab,
>>
>>You have a section called "RDBMS settings"
>>The field "Order database operations" maps
>>"order-database-operations"
>>The field "Perform batch operations" maps
>>"enable-batch-operations"
>>
>>Both properties are written out to the
>>Weblogic-cmp-rdbms-jar.xml (see sample below)
>>
>>
>>
>>
>>"delay-database-insert-until" and
>>"delay-updates-until-end-of-tx" are located at the bean
>>level.
>>1) Open the DD Editor for the specific bean (double-click on
>>the displayed bean in the structure pane)
>>2) Switch to the "Weblogic Persistence" tab.
>>
>>"Ejb Settings" section has a field "Delay updates until end
>>of transaction" which maps "delay-updates-until-end-of-tx"
>>property (written out to the Weblogic-ejb-jar.xml)
>>
>>"Container managed persistence" section has a field "delay
>>database insert until" which maps
>>"delay-database-insert-until" property (written out to the
>>Weblogic-cmp-rdbms-jar.xml)
>>
>>
>>
>>
>>====================================
>>Weblogic-ejb-jar.xml
>>====================================
>><weblogic-ejb-jar>
>><weblogic-enterprise-bean>
>><ejb-name>Enterprise1</ejb-name>
>><entity-descriptor>
>><persistence>
>>
>>
>><delay-updates-until-end-of-tx>false</delay-updates-until-en
>>d-of-tx>
>>
>><persistence-use>
>>
>><type-identifier>WebLogic_CMP_RDBMS</type-identifier>
>><type-version>6.0</type-version>
>>
>><type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-stor
>>age>
>></persistence-use>
>></persistence>
>></entity-descriptor>
>><local-jndi-name>Enterprise1</local-jndi-name>
>></weblogic-enterprise-bean>
>></weblogic-ejb-jar>
>>
>>
>>
>>
>>====================================
>>Weblogic-cmp-rdbms-jar.xml
>>====================================
>>
>><weblogic-rdbms-jar>
>><weblogic-rdbms-bean>
>><ejb-name>Employee</ejb-name>
>><data-source-name>DataSource</data-source-name>
>><table-map>
>><table-name>EMPLOYEE</table-name>
>><field-map>
>><cmp-field>deptNo</cmp-field>
>><dbms-column>DEPT_NO</dbms-column>
>></field-map>
>>
>>...
>>
>></table-map>
>>
>>
>><delay-database-insert-until>ejbCreate</delay-database-inser
>>t-until>
>>
>></weblogic-rdbms-bean>
>>
>>
>><order-database-operations>false</order-database-operations>
>><enable-batch-operations>true</enable-batch-operations>
>>
>></weblogic-rdbms-jar>
>>
>>
>>
>>
>
>