Simon Laws wrote:
Hi Simon

When creating a domain configuration from scratch using the
Domain Manager GUI, the generated configuration files don't include
a <binding.sca> entry.  This means that deployed composites that
use binding.sca for inter-node communication don't work "out of the
box" in a distributed domain configuration.  In order to get this
to work, it's necessary to manually edit the generated domain
configuration to add <binding.sca> elements to the node definitions.

snip...

Can you give a specific example here. I don't quite understand what
you mean. I just ran up the store tutorial where for an input of...

        <component name="StoreCatalog">
                <implementation.java class="services.FruitsCatalogImpl"/>
                <property name="currencyCode">USD</property>
                <service name="Catalog">
                        <t:binding.jsonrpc/>
                </service>
                <reference name="currencyConverter" 
target="StoreCurrencyConverter"/> 
        </component>

        <component name="StoreCurrencyConverter">
                <implementation.java class="services.CurrencyConverterImpl"/>
        </component>

I get an output from the domain manager of...

<component name="StoreCatalog" uri="StoreCatalog">
  <implementation.java class="services.FruitsCatalogImpl"/>
  <service name="Catalog">
    <interface.java interface="services.Catalog"/>
    <ns2:binding.jsonrpc name="Catalog"
uri="http://localhost:8100/StoreCatalog"/>
    <callback/>
  </service>
  <reference name="currencyConverter">
    <interface.java interface="services.CurrencyConverter"/>
    <binding.sca
name="currencyConverter#StoreCurrencyConverter/CurrencyConverter"
uri="/StoreCurrencyConverter"/>
    <callback/>
  </reference>
  <property name="currencyCode" mustSupply="false" many="false"
type="ns2:string">USD</property>
</component>

<component name="StoreCurrencyConverter" uri="StoreCurrencyConverter">
  <implementation.java class="services.CurrencyConverterImpl"/>
  <service name="CurrencyConverter">
    <interface.java interface="services.CurrencyConverter"/>
    <binding.sca name="CurrencyConverter" uri="/StoreCurrencyConverter"/>
    <callback/>
  </service>
</component>

Are you talking about forward calls or callbacks or both?

Regards

Simon


Sorry that my previous note was not clear.  I was referring to the files
in the "cloud" directory that are generated by the Domain Manager GUI
when using the Domain Manager GUI with no predefined configuration.
These currently have host/port entries for binding.ws, binding.http,
binding.jsonrpc, and binding.atom.  They don't include a host/port entry
for binding.sca.

Without this entry, application composites will always have local-only
<binding.sca> entries (as your example shows) which means they can't
use binding.sca to communicate between different nodes.  This applies
to both forward calls and callbacks.

The good news is that my builder fix to optimize intra-node binding.sca
calls (option 3 from my earlier post) is now working for forward calls.
I now need to enable callback support, which shouldn't take long.
After that I'll run a full build to make sure that my changes haven't
disturbed anything.

  Simon

Reply via email to