Problems with Factory CXmlCtx, xmlnode class on Solaris

Hi,
I am using Oracle 10g XDK and Iam facing the following problem in Solaris (this works fine in IBM AIX and HP-UX).
CXmlCtx* ctxp = new CXmlCtx();
Factory< CXmlCtx, xmlnode>* fp;
fp = new Factory< CXmlCtx, xmlnode>( ctxp);
parser->domparser = fp->createDOMParser(DOMParCXml, NULL);
The code dumps a core at the 4th line (createDOMParser) function. The code was compiled with SunWSPro compiler /opt/SUNONE8/SUNWspro/bin/cc.
Any pointers to the resolution of this issue will be appreciated.
Thanks

Yes, that is the Factory pattern you describe. The client programs are going to call your createFoo() method and get back an instance of a subclass of Foo. Typically this pattern is used where there is some external entity that determines what subclass will be returned -- for example a system property -- and the client programs call createFoo() with no arguments. In this case reflection is used to create the instance, and your base class does not need to know anything about any subclasses.
However, if your client programs can influence the choice of subclass, then they will have to pass some kind of parameter into createFoo(). At this point, createFoo() requires some decision logic that says "create this, or that, depending on the input parameter". And if that parameter is simply a code that enables the client programs to say "Give me a ChocolateFoo instance", then returning "new ChocolateFoo()" is the most straightforward design. But in this case, why can't the client program do that?
If you don't like the base class having to know about subclasses (and you shouldn't be happy if it does), then you could have a helper class -- FooFactory -- that contains only the static method createFoo(). This class would know about Foo, and about any of its subclasses that it can produce instances of. It's still a maintenance point, no avoiding that, but at least it is off by itself somewhere.

Similar Messages

  • Problem with running the midlet class (Error with Installation suite )

    hi everyone...
    i have problem with running the midlet class(BluetoothChatMIDlet.java)
    it keep showing me the same kind of error in the output pane of netbeans...
    which is:
    Installing suite from: http://127.0.0.1:49296/Chat.jad
    [WARN] [rms     ] javacall_file_open: wopen failed for: C:\Users\user\javame-sdk\3.0\work\0\appdb\delete_notify.dat
    i also did some research on this but due to lack of forum that discussing about this,im end up no where..
    from my research i also find out that some of the developer make a changes in class properties..
    where they check the SIGN DISTRIBUTION...and also change the ALIAS to UNTRUSTED..after that,click the EXPORT KEY INTO JAVA ME SDK,PLATFORM,EMULATOR...
    i did that but also didnt work out..
    could any1 teach me how to fix it...
    thanx in advance... :)

    actually, i do my FYP on bluetooth chatting...
    and there will be more than two emulators running at the same time..
    one of my frens said that if u want to run more than one emulator u just simply click on run button..
    and it will appear on the screen..

  • Problems with Factory pattern

    Sorry... I know this topic has been done to death but I still have some questions.
    In my development, I keep encountering a recurring problem that I believe should be solved by the 'factory pattern'. (Note: I'm not a patterns nut so I am only guessing about the correct pattern).
    Here is the problem:
    I develop an abstract base class. I extend the base class with several subclasses. Exterior objects use the instances via a base class reference and I don't want to them to have to know which is the correct subclass or how to create the instance.
    My solution is to make a create(param, param,...) method in the base class and using the param(s) construct the instance something like:static Foo create(int type)
    Foo instance = null;
    String className = "com.myco.foos.DefaultFoo";
    if(CONST_A == type)
      className = "com.myco.foos.FooA";
    else if(CONST_B == type)
      className = "com.myco.foos.FooB";
    {on and on...}
    {using reflection create a new instance from the className String}
    return instance;
    }The obvious problem with the create() method is that it becomes a maintenence point and I don't like the idea of a base class knowing about subclasses.
    Anyone know better a solution? Comments?
    Thanks in advance.

    Yes, that is the Factory pattern you describe. The client programs are going to call your createFoo() method and get back an instance of a subclass of Foo. Typically this pattern is used where there is some external entity that determines what subclass will be returned -- for example a system property -- and the client programs call createFoo() with no arguments. In this case reflection is used to create the instance, and your base class does not need to know anything about any subclasses.
    However, if your client programs can influence the choice of subclass, then they will have to pass some kind of parameter into createFoo(). At this point, createFoo() requires some decision logic that says "create this, or that, depending on the input parameter". And if that parameter is simply a code that enables the client programs to say "Give me a ChocolateFoo instance", then returning "new ChocolateFoo()" is the most straightforward design. But in this case, why can't the client program do that?
    If you don't like the base class having to know about subclasses (and you shouldn't be happy if it does), then you could have a helper class -- FooFactory -- that contains only the static method createFoo(). This class would know about Foo, and about any of its subclasses that it can produce instances of. It's still a maintenance point, no avoiding that, but at least it is off by itself somewhere.

  • Problem with setContentPane() in JFrame class

    I recently discovered a problem with the setContentPane method in the JFrame class. When I use setContentPane(Container ..), the previously existing contentPane remains in the stack. I have tried nullifying getContentPane(), and all manner of things, but, each time I use setContentPane, I have another instance of a JPanel in the stack.
    I'm using code similar to setContentPane(new CustomJPanel()); and each time the user changes screens, and a similar call to that is made, the old CustomJPanel instance remains in the stack. Can anyone suggest a way around this? On their own the panels do not take up very much memory, but after several hours of usage, they will build up.

    I tried what you suggested; it only resulted in a huge performance decrease. The problem with memory allocation is still there.
    Here is the method I use to switch screens in my app:
    public static void changeScreen (JPanel panel){
              try{
                   appFrame.setTitle("Wordinary : \""+getTitle()+"\"");
                   appFrame.setContentPane(panel);
                   appFrame.setSize(appFrame.getContentPane().getPreferredSize());     
                   appFrame.getContentPane().setBackground(backColour);
                   for (int i = 0; i < appFrame.getContentPane().getComponents().length; i++)
                        appFrame.getContentPane().getComponents().setForeground(textColour);
                   //System.out.println("Background colour set to "+backColour+" text colour set to "+textColour);
                   appFrame.validate();
              catch (Exception e){
                   //System.out.println("change");
                   e.printStackTrace();
    And it is called like this:
    changeScreen(new AddWordPanel());The instantiation of the new instance is what is causing the memory problems, but I can't think of a way around it.

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • Problem with perl Net::Telnet::Cisco  for Solaris 10 SPARC

    hi all,
    I have problem with installing this modules : Net::Telnet::Cisco,TermReadKey-2.30.tar.gz.
    I'm trying to install this packages Net-Telnet-Cisco-1.10.tar.gz, and the it notifies me that I need to install before the TermReadkey, I get it from www.CPAN.org -TermReadKey-2.30.tar.gz
    and look what I have when I run : "make test" or even "make install"
    cc -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_TS_ERRNO -xO3 -xspace -xildoff -DVERSION=\"2.30\" -DXS_VERSION=\"2.30\" -KPIC "-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE" ReadKey.c
    sh: cc: not found
    *** Error code 1
    make: Fatal error: Command failed for target `ReadKey.o'
    Please can some one help me. it 's very urgent
    thank you in advance

    Vipul_Ramani wrote:
    only thing you are missing CC does not your current PATH
    ADD it again
    using export PATH=$PATH:/usr/ucb and try ... do it No, please don't. There is no compiler in /usr/ucb, and it is probably a very good idea to compile without /usr/ucb in your path. /usr/ucb/cc is only a wrapper to extend a very old SunOS compatibility environment onto an existing compiler.
    If you don't have the current Sun compiler suite on your machine (go ahead and download it, it's free), then you can use gcc by invoking "perlgcc" instead of "perl" on the module's makefile.
    Darren

  • Problems with Sandisk 16Gb microsdhc Class 2 in N8...

    Hello to you all..
    Yesterday my 16Gb microSDHC died... I wanted to charge my phone and suddenly the phone freezes and it refused to turn back on. So I decided to eject the 16Gb card and gladly I managed to turn my phone back on. So the problem was the microSDHC card. I had tested it with my PC but no response..
    This is my 2nd 16Gb card!! I never had problems with the standard 8Gb card..
    So finally I went to the shop and returned the dead card and got a refund.So now I am back to my old 8Gb card and till now everything works fine.
    But is there somebody else that had problems with a 16Gb microSDHC card in a N85 (particulary Sandisk)? Because I think the card reacted on some sort of Voltage level that he could not handle... Can this be possible?
    Black Nokia N97, productcode 0585162 FW V20.0.19 NL and 8Gb microSDHC A-data card

    hi n97fanboy
    The class thing is to do with the minimum write speed of the cards, and thus the class only describes "how good" a card is for the type of device the card is used with. Some devices require slower speed cards than others, some devices might require faster ones. Grschinon further up this thread indicated that class 2 may be too slow for the N85, and that it's minimum write speed is that of a class 4, which is the class of the micro SHDC card that the UK version of the N85 is supplied with. This makes sense.
    However, the Nokia website states that the N97 and N85 is compatible with their Class 2 16GB card, but we're not sure that this is correct given the behaviour of Sandisk Class 2 16GB cards in the device (I've had one fried, and almost lost the second one). Personally I've gone back to the 8GB Class 4 supplied with the phone, and will try and find a larger class 4 or above card at a later date.
    I'm sorry I can't help with the best card for the N97 as I've only played with the device in the Nokia Store. If it comes supplied with a microSDHC card, check for the digit on that card. If you do decide to upgrade it to a larger card, you should stick to the same class number it has or a larger one, from the experiences dkawa and myself have had with the N85. Best to try and get someone from Nokia's technical department's to confirm.
    HTH
    S.
    Black/Copper N85 sw v.30.019 Nokia 8GB Class 4 microSDHC

  • Problem with name of Servlet Class

    Hi to all,
    I have a class named AClassName and it work fine when a spider come in my web site he try to connect to the class named aclassname. I try to create a class with all lower case letter, but in windows system it's not possibile to have in the same directory a file named AClassName.class and one with the name aclassname.class
    Any help will be appreciated
    Regards
    Rinaldo

    you can solve this using servlet mapping,
    which is the correct way to call servlets,
    instead of using the invoker
    <servlet-mapping>
       <servlet-name>ListaLoc</servlet-name>
       <url-pattern>/listaloc</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
       <servlet-name>ListaLoc</servlet-name>
       <url-pattern>/ListaLoc</url-pattern>
    </servlet-mapping>

  • Problem with axis2 and QName class

    Hello,
    We have deployed AXIS2 library with a library project (J2EE server component) as it is specify by a SAP guide. We deployed the sda file correctly and we know how to reference this library in Portal Application and J2ee Module WEB or EJB.
    The problem is when we want to use internally javax.xml.namespace.QName is thrown an exception. This exception is shown bellow:
    java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
    at wpt.ConventerStub.populateAxisService(ConventerStub.java:52)
    at wpt.ConventerStub.<init>(ConventerStub.java:100)
    at wpt.ConventerStub.<init>(ConventerStub.java:89)
    at wpt.ConventerStub.<init>(ConventerStub.java:140)
    at wpt.ConventerStub.<init>(ConventerStub.java:132)
    at com.eadscasa.axis2.Axis2Converter.doContent(Axis2Converter.java:26)
    In the guide is said that we have to deploy a library project to avoid this problem but we still are getting it. I have realized that Qname class is a basic class into the JDK 1.4 and in different projects as AXIS2 making revision about this class.
    How can I deploy these libraries (jars) without dependencies with SAP Portal libraries?
    Is there any way to setup the classloader to avoid this error?
    In the documentation about this kind of project it is said that you cannot deploy libraries (*.jar) with the same name. I donu2019t know if it happens the same with the class.
    We have to develop web Services with Soap 1.2 specification, SAML etc and we need to develop this class because sap portal doesnu2019t support this kind o features.
    Regards,
    Daniel Urbano

    Hi,
    Firstly thanks for you reply. I generate the client with wsdl2java tool as it is mentioned in AXIS2 documentation and as you specified in your blog. After I follow the steps:
    Step 1 - Generating the Axis2.war
    Step 2 u2013 Modify the service *.aar file
    Step 3 u2013 Create the J2EE library
    Step 4 u2013 Create the J2EE application wrapping the web module axis2.war
    We know how to make the step 1,2 and 3 but there is a little mess in the last step. Donu2019t worry about this because we got the general idea in this document. According to the guide the main problem is to solve a classloading conflict because it only can be loaded the libraries once and you need the AXIS2 libraries for *.arr and for the axis2 engine to be able to manage this module. This problem it is solved making a J2EE library Project and putting a reference to this library in the module, applications or project, which have to use AXIS2 libraries.
    We have 3 different kind of projects that we can develop according to Sap Netweaver:
    J2EE Project:
    ·     Web Module Project: Resulting a war file.
    ·     Enterprise Application Project: Resulting a ear file
    ·     EJB Module Project: Resulting a war file.
    Portal Application
    ·     Portal Application Project: Resulting a par file.
    In any project mentioned upper we know how to deploy these with a reference to this library project that previously we deployed successfully in the portal. But the problem is when we are going to check this module running it the server give us an exception.
    java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
    at wpt.ConventerStub.populateAxisService(ConventerStub.java:52)
    at wpt.ConventerStub.(ConventerStub.java:132)
    at com.eadscasa.axis2.Axis2Converter.doContent(Axis2Converter.java:26)
    This exception is because exist classes into the axis2 libraries as javax.xml.namespace.Qname that are in SAP Portal libraries into the J2ee Server (JDK 1.4). This conflict is mentioned in the blog u201C360° View on enterprise SOAu201D where Michael Koegel, the author, says that if you want that AXIS2 libraries works you will have to work around with the dependencies of libraries.
    The main problem in this point it is that we donu2019t know how to resolve this dependencies and if it is possible that other module of SAP Portal wonu2019t work fine if we change the base libraries. AXIS2 has newer classes than SAP Portal and it is possible that we can break other SAP Portal functions. In this case if we can not get that AXIS2 and SAP Portal co-exist in the same server we will probably have to change our way to get the enterprise objectives.
    In order to resolve these dependencies we have found a SAP Note Number: 1138545. In this note it is said that we can setup the precedence class loader in the visual admin  into the deploy service. If you add your AXIS2 library at the beginning of StandardAplicationReferences variable in the deploy service, it is loaded the axis2 libraries first and it works the services but other portal functionality fails. This variable it is used to load the libraries precedence for all applications in the Server. If we could setup the class load precedence in a web module project or the system doesnu2019t take into account the server libraries for this module it will work perfectly.
    If you could specify more the last point of your manual, I will appreciate it.
    Regards,
    Daniel Urbano

  • Problem with combination of LabVIEW classes (dynamic dispatch), statechart module and FPGA module

    SITUATION:
    - I am developing a plug-in-based software with plug-ins based on LabVIEW classes which are instanced at run-time. The actual plug-in classes are derived from generic plug-in classes that define the interfaces to the instancing VI and may provide basic functionality. This means that many of the classes' methods are dynamic dispatch and methods of child classes may even call the parent method.
    - Top-level plug-ins (those directly accessed by the main VI) each have a run method that drives a plug-in-specific statechart.
    - The statechart of the data acquisition plug-in class (DAQ class) calls a method of the DAQ class that reads in data from a NI FPGA card and passes it on to another component via a queue.
    PROBLEM:
    - At higher sampling rates, an FPGA-to-host FIFO overflow occurs after some time. When I "burden" the system just by moving a Firefox browser window over the screen, the overflow is immediately triggered. I did not have this kind of problem in an older software, where I was also reading from an FPGA FIFO, but did not make use of LabVIEW classes or statecharts.
    TRIED SOLUTIONS (WITHOUT SUCCESS):
    - I put the statechart into a timed loop (instead of a simple while loop) which I assigned specifically to an own core (I have a quad-core processor), while I left all the other loops of my application (there are many of them) in simple while loops. The FIFO overflow still does occur, however. 
    QUESTION:
    - Does anybody have a hint how I could tackle this problem? What could be the cause: the dynamic dispatch methods, the DAQ statechart or just the fact that I have a large number of loops? However, I can hardly change the fact that I have dynamic dispatch methods because that's the very core of my architecture... 
    Any hints are greatly appreciated!
    Message Edited by dlanger on 06-25-2009 04:18 AM
    Message Edited by dlanger on 06-25-2009 04:19 AM
    Solved!
    Go to Solution.

    I now changed the execution priority of all the VIs involved in reading from the FPGA FIFO to "time critical priority (highest)". This seems to improve the situation very much: so far I did not get a FIFO overflow anymore, even when I move around windows on the screen. I hope it stays like this...

  • Problem with Beansbinding as separated class

    Hello,
    I used beansbinding together with a JTextfield and usually it works, which means that if I do it like the following;
      /// the class that I use implements a binding listener
    binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_WRITE,                        // two-way binding
                                                        systemDaten ,                                                             //source and backing bean
                                                           BeanProperty.create("debeyeHueckelkonstanteA") ,          //name of field
                                                           debeyeHueckelkonstanteA,                                            // name of jtextfield as swing source
                                                           textProperty,                                                     //Property textProperty = BeanProperty.create("text");  
                                                          "debeyeHueckelkonstanteA" );                             // Name      
              binding.setConverter(null);
           binding.setValidator(null);
               binding.addBindingListener(this);                                                  /// this = because the class that I use implements a binding listener
            binding.bind();
    //if I use instead of binding.addBindingListener(this) the following version with an anonym class, it works as well:
    binding.addBindingListener(new BindingListener() {
                @Override
                public void bindingBecameBound(Binding binding) {
                @Override
                public void bindingBecameUnbound(Binding binding) {
                @Override
                public void syncFailed(Binding binding, SyncFailure failure) {
                @Override
                public void synced(Binding binding) {
                @Override
                public void sourceChanged(Binding binding, PropertyStateEvent event) {
                @Override
                public void targetChanged(Binding binding, PropertyStateEvent event) {
            } );if I use this form using a customized class and a constructor with the data (double number) to be represented :
                            binding.addBindingListener(new SystemBindingListener(systemDaten.getMesstemperatur()) )with a class implementing the listener as below it doesn't work.
    public class SystemBindingListener implements BindingListener {
        private double value = 0.0;
        public SystemBindingListener(double value) {
         super();
         this.setValue(value);
        private final PropertyChangeSupport propertyChangeSupport =
         new PropertyChangeSupport(this);
         public void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
        public void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
                 @Override
                    public void bindingBecameBound(Binding binding) {
                        System.out.println("bound ok " + binding.getName());  }
                @Override
                    public void bindingBecameUnbound(Binding binding) {
                        System.out.println("unbound ok " + binding.getName());  }
                @Override
                    public void syncFailed(Binding binding, SyncFailure failure) {
                        System.out.println("sync not ok " + binding.getName());  }
                @Override
                    public void synced(Binding binding) {
                    this.setValue(value);
                      System.out.println("sync ok " + binding.getName() + this.getValue()); }
                @Override
                    public void sourceChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("source ok " + binding.getName());    }
                @Override
                    public void targetChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("target ok " + binding.getName()); }
            public double getValue(){
             return value;
            public void setValue(double value){
            final double old = this.value;
         this.value = value;
         propertyChangeSupport.firePropertyChange(
                          "value", // the name of the property
                          old, // the old value
                          value // the new value
            this.value = value;
    }The problem is that I wanted to "outsource" the BindingListener but change its output depending on the source modified on the GUI.
    I have several textfields and I want to be sure that whenever one of them gets modified the value is modified in the backing bean
    and this should be visible by the System.out.println(this.getValue()) output.
    I added Property Support but this didn't help. As you can see I want a Read-Write Binding which works as described in the first two examples.
    But with a externalized class binding doesn't work.
    Does anyone know how to do this.
    Thanks for help
    Thommy
    Edited by: 886674 on 4 oct. 2011 08:31
    Edited by: 886674 on 4 oct. 2011 08:35

    Hello,
    I am not sure if it is as short as you want to, but anyway there cannot be less classes than that, because I need each of them and any further reduction
    would falsify the situation given.
    Also there are only some lines which are determining size, location - and especially Layout - etc which I left nearly as they are.
    Before using the given function addComponent() I had big problems to get a proper GUI Layout so I changed not to much concerning the layout (I didn't want to take the risk that nothing appears at all (or not at the right place) as I experienced many times before).
    Anyway, it is much less than the 10 classes (or the 30 original classes) I had before. So here is the code:
    package controls;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;
    import java.awt.Toolkit;
    import java.beans.PropertyChangeListener;
    import java.beans.PropertyChangeSupport;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import org.jdesktop.beansbinding.AutoBinding;
    import org.jdesktop.beansbinding.BeanProperty;
    import org.jdesktop.beansbinding.Binding;
    import org.jdesktop.beansbinding.Binding.SyncFailure;
    import org.jdesktop.beansbinding.BindingGroup;
    import org.jdesktop.beansbinding.BindingListener;
    import org.jdesktop.beansbinding.Bindings;
    import org.jdesktop.beansbinding.Property;
    import org.jdesktop.beansbinding.PropertyStateEvent;
    public class Main {
        public static Mainframe wg = null;
        public static void main(String[] args)  {
        wg = new Mainframe();
        wg.setVisible(true);
    class Mainframe extends JFrame {
    public static final long serialVersionUID = 1111111;
        private JPanel pnlOben;
        private JPanel pnlMitte;
        private KonstantenPanel kp = null;
        private   Dimension screendimension;
        private   Dimension dimension;   
        public Mainframe(){
        super();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        screendimension = Toolkit.getDefaultToolkit().getScreenSize();
        dimension = new Dimension();
        dimension.setSize(400, 400);
        this.setSize(dimension);
        this.setLocation((int) ((screendimension.getSize().getWidth()) / 2), (int) (screendimension.getSize().getHeight()/ 2));
        init();
    public void init(){
      desktopMalen();
    private void desktopMalen() {
             this.setLayout(new BorderLayout(20, 20));
            this.add(NordPanelMalen(), BorderLayout.NORTH);
            this.add(CenterPanelMalen(), BorderLayout.WEST);
            this.add( new JPanel(),BorderLayout.SOUTH);
        private JPanel NordPanelMalen() {
            pnlOben = new JPanel(new FlowLayout(FlowLayout.LEFT));
            pnlOben.add(new JLabel("Test"));
           return pnlOben ;
       private JPanel CenterPanelMalen() {
            this.pnlMitte = new JPanel();  //new FlowLayout(FlowLayout.CENTER
            this.pnlMitte.setLayout(new GridLayout(1, 1));    
            Dimension d = new Dimension();       
            this.pnlMitte.setSize(400,400); d.setSize(400, 400);
            KonstantenPanel bp = new KonstantenPanel(d);  //// the panel with the swing component
             this.pnlMitte.add(bp);
      return pnlMitte;
    class KonstantenPanel extends JPanel {
        public static final long serialVersionUID = 1111111;  
        private Systemdaten systemDaten = null;
        private JTextField messtemperatur;
        private BindingGroup bindinggroup = null;
        private Binding binding;
        private SystemBindingListener sbl1;
        public KonstantenPanel(Dimension d) {
        this.setSize(d);
        init();
        private void init() {
       systemDaten = new Systemdaten();           /////// the bean class
        GridBagLayout gbl = new GridBagLayout();
       this.setLayout(gbl);
        this.addComp(gbl,new JLabel("Konstanten"),0,0,4,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
        this.addComp(gbl,new JLabel("                   "),     0,1,4,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
        this.addComp(gbl,new JLabel("Messtemperatur   "),       0,2,2,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
                                                                /////the swing component using beansbinding
       messtemperatur = new JTextField("298.15             ");
       messtemperatur.setName("messtemperatur");
       this.addComp(gbl,messtemperatur ,  0,3,2,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
                                                         ///all the binding is done here in:
       bindProperties();
        @SuppressWarnings("unchecked")
            private void bindProperties() {
         Property textProperty = BeanProperty.create("text");
            bindinggroup=new BindingGroup();
         binding = Bindings.createAutoBinding(
           AutoBinding.UpdateStrategy.READ_WRITE, // two-way binding
           systemDaten,                 // bean
           BeanProperty.create("messtemperatur"),
           messtemperatur,        //field
           textProperty,        //name of property
           "messtemperatur" //name
            sbl1 = new SystemBindingListener(systemDaten.getMesstemperatur());
            binding.addBindingListener(sbl1);
            binding.setConverter(null);
         binding.setValidator(null);
             binding.bind();
             bindinggroup.addBinding(binding);
        bindinggroup.bind();
         public void addComp (   //Container cont,
                             GridBagLayout gbl, Component c, int x, int y, int width, int height, double weightx, double weighty, int cbc, int a)
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.fill = cbc ; //GridBagConstraints.BOTH;
        gbc.gridx = x; gbc.gridy = y;
        gbc.gridwidth = width; gbc.gridheight = height;
        gbc.weightx = weightx; gbc.weighty= weighty;
        gbc.anchor = a; gbl.setConstraints(c, gbc);
        this.add(c);
         * in praxis the extra class would be especially interesting if there are more variables     *
    class SystemBindingListener implements BindingListener {
        private double value = 0.0;
        SystemBindingListener(double value) {
         super();
         this.setValue(value);
        private final PropertyChangeSupport propertyChangeSupport =     new PropertyChangeSupport(this);
        void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
        void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
                 @Override
                    public void bindingBecameBound(Binding binding) {
                        System.out.println("bound ok " + binding.getName());  }
                @Override
                    public void bindingBecameUnbound(Binding binding) {
                        System.out.println("unbound ok " + binding.getName());  }
                @Override
                    public void syncFailed(Binding binding, SyncFailure failure) {
                        System.out.println("sync not ok " + binding.getName());  }
                @Override
                    public void synced(Binding binding) {
                    this.setValue(value);
                      System.out.println("sync ok " + binding.getName() + this.getValue()); }
                @Override
                    public void sourceChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("source ok " + binding.getName());    }
                @Override
                    public void targetChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("target ok " + binding.getName()); }
            double getValue(){
             return value;
           void setValue(double value){
            final double old = this.value;
         this.value = value;
         propertyChangeSupport.firePropertyChange(
                          "value", // the name of the property
                          old, // the old value
                          value // the new value
            this.value = value;
    class Systemdaten {
    static final long serialVersionUID = 1111111L;
        private double messtemperatur = 298.15;
        private final PropertyChangeSupport propertyChangeSupport =     new PropertyChangeSupport(this);
       void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
       void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
      double getMesstemperatur() {
            return messtemperatur;
       void setMesstemperatur(double messtemperatur) {
            final double old = this.messtemperatur;
         this.messtemperatur = messtemperatur;
         propertyChangeSupport.firePropertyChange(
                          "messtemperatur", // the name of the property
                          old, // the old value
                          messtemperatur // the new value
            this.messtemperatur = messtemperatur;
    }Due to your questions I guess to know why it there is no binding between the Listener-Instance and the Swing-Compound but
    I don't see how to get all three classes working together.
    I mean: If I want to have a binding between the value variable in the BindingListener and the SwingCompound I need to create such a binding in the panel-Class.
    But I only created a binding with the field in systemDaten because this is the bean I want to work with.
    It seems that I didn't understand how it is managed that the value is changing in the bean and the swingcompound simultaneously - after creating and adding the
    BindingListener-Instance.
    In the two other cases there is still a communication between the Listener and the swingCompound but in the given case there is not.
    I was not aware of this problem before and I am still not sure to fully understand why it works in the other cases.
    Do I need to give the binding variable or swing compound to the BindingListener to keep communication ?
    Thanks for your help
    Thommy

  • Fix many web access problems with IFS 9.0.1 on Solaris (and other OS's)...

    When the installation is done according to the documentation,
    web access does not work because the scripts that add entries to
    the jserv.properties file add duplicate references to
    wrapper.env and wrapper.classpath. Look at the jserv.properties
    file below and look at the remarked-out (#) lines of the
    duplicate references. For example, look at the references to the
    wrapper.env=LD_LIBRARY_PATH
    Oracle, please note this bug so the web access problems are
    minimized when the product is intstalled.
    Thank you,
    William T.
    # Apache JServ Configuration
    File #
    ################################ W A R N I N G
    # Unlike normal Java properties, JServ configurations have some
    important
    # extensions:
    # 1) commas are used as token separators
    # 2) multiple definitions of the same key are concatenated in
    a
    # comma separated list.
    # Execution parameters
    # The Java Virtual Machine interpreter.
    # Syntax: wrapper.bin=[filename] (String)
    # Note: specify a full path if the interpreter is not visible in
    your path.
    wrapper.bin=/d3/Apache/jdk/bin/java
    # Arguments passed to Java interpreter (optional)
    # Syntax: wrapper.bin.parameters=[parameters] (String)
    # Default: NONE
    wrapper.bin.parameters=-Xms64m
    wrapper.bin.parameters=-Xmx128m
    # Apache JServ entry point class (should not be changed)
    # Syntax: wrapper.class=[classname] (String)
    # Default: "org.apache.jserv.JServ"
    # Arguments passed to main class after the properties filename
    (not used)
    # Syntax: wrapper.class.parameters=[parameters] (String)
    # Default: NONE
    # Note: currently not used
    # PATH environment value passed to the JVM
    # Syntax: wrapper.path=[path] (String)
    # Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
    # "c:\(windows-dir);c:\(windows-system-dir)" for Win32
    systems
    # Notes: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters
    # Under Win32 (windows-dir) and (windows-system-dir) will
    be
    # automatically evaluated to match your system
    requirements
    # CLASSPATH environment value passed to the JVM
    # Syntax: wrapper.classpath=[path] (String)
    # Default: NONE (Sun's JDK/JRE already have a default classpath)
    # Note: if more than one line is supplied these will be
    concatenated using
    # ":" or ";" (depending wether Unix or Win32) characters.
    JVM must be
    # able to find JSDK and JServ classes and any utility
    classes used by
    # your servlets.
    # Note: the classes you want to be automatically reloaded upon
    modification
    # MUST NOT be in this classpath or the classpath of the
    shell
    # you start the Apache from.
    wrapper.classpath=/d3/Apache/jdk/lib/tools.jar
    wrapper.classpath=/d3/Apache/Jserv/libexec/ApacheJServ.jar
    wrapper.classpath=/d3/Apache/Jsdk/lib/jsdk.jar
    # An environment name with value passed to the JVM
    # Syntax: wrapper.env=[name]=[value] (String)
    # Default: NONE on Unix Systems
    # SystemDrive and SystemRoot with appropriate values on
    Win32 systems
    wrapper.env=PATH=/d3/bin
    # An environment name with value copied from caller to Java
    Virtual Machine
    # Syntax: wrapper.env.copy=[name] (String)
    # Default: NONE
    # Uncomment the following lines to set the default locale and
    NLS_LANG
    # setting based on the environment variables.
    # wrapper.env.copy=LANG
    # wrapper.env.copy=NLS_LANG
    # Copies all environment from caller to Java Virtual Machine
    # Syntax: wrapper.env.copyall=true (boolean)
    # Default: false
    # Protocol used for signal handling
    # Syntax: wrapper.protocol=[name] (String)
    # Default: ajpv12
    # General parameters
    # Set the default IP address or hostname Apache JServ binds (or
    listens) to.
    # If you have a machine with multiple IP addresses, this address
    # will be the one used. If you set the value to localhost, it
    # will be resolved to the IP address configured for the locahost
    # on your system (generally this is 127.0.0.1). This feature is
    so
    # that one can have multiple instances of Apache JServ listening
    on
    # the same port number, but different IP addresses on the same
    machine.
    # Use bindaddress=* only if you know exactly what you are doing
    here,
    # as it could let JServ wide open to the internet.
    # You must understand that JServ has to answer only to Apache,
    and should not
    # be reachable by nobody but mod_jserv. So localhost is usually a
    # good option. The second best choice would be an internal
    network address
    # (protected by a firewall) if JServ is running on another
    machine than Apache.
    # Ask your network admin.
    # "*" may be used on boxes where some of the clients get
    connected using
    # "localhost"and others using another IP addr.
    # Syntax: bindaddress=[ipaddress] or [localhost] or [*]
    # Default: localhost
    bindaddress=localhost
    # Set the port Apache JServ listens to.
    # Syntax: port=[1024,65535] (int)
    # Default: 8007
    port=8007
    # Servlet Zones parameters
    # List of servlet zones Apache JServ manages
    # Syntax: zones=[servlet zone],[servlet zone]... (Comma
    separated list of String)
    # Default: NONE
    zones=root
    # Configuration file for each servlet zone (one per servlet zone)
    # Syntax: [servlet zone name as on the zones list].properties=
    [full path to configFile]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    root.properties=/d3/Apache/Jserv/etc/zone.properties
    # Thread Pool parameters
    # Enables or disables the use of the thread pool.
    # Syntax: pool=true (boolean)
    # Default: false
    # WARNING: the pool has not been extensively tested and may
    generate
    deadlocks.
    # For this reason, we advise against using this code in
    production environments.
    pool=false
    # Indicates the number of idle threads that the pool may contain.
    # Syntax: pool.capacity=(int)>0
    # Default: 10
    # NOTE: depending on your system load, this number should be low
    for contantly
    # loaded servers and should be increased depending on load
    bursts.
    pool.capacity=10
    # Indicates the pool controller that should be used to control
    the
    # level of the recycled threads.
    # Syntax: pool.controller=[full class of controller] (String)
    # Default: org.apache.java.recycle.DefaultController
    # NOTE: it is safe to leave this unchanged unless special
    recycle behavior
    # is needed. Look at the "org.apache.java.recycle" package
    javadocs for more
    # info on other pool controllers and their behavior.
    pool.controller=org.apache.java.recycle.DefaultController
    # Security parameters
    # Enable/disable the execution of org.apache.jserv.JServ as a
    servlet.
    # This is disabled by default because it may give informations
    that should
    # be restricted.
    # Note that the execution of Apache JServ as a servlet is
    filtered by the web
    # server modules by default so that both sides should be enabled
    to let this
    # service work.
    # This service is useful for installation and configuration
    since it gives
    # feedback about the exact configurations Apache JServ is using,
    but it should
    # be disabled when both installation and configuration processes
    are done.
    # Syntax: security.selfservlet=true (boolean)
    # Default: false
    # WARNING: disable this in a production environment since may
    give reserved
    # information to untrusted users.
    security.selfservlet=true
    # Set the maximum number of socket connections Apache JServ may
    handle
    # simultaneously. Make sure your operating environment has
    enough file
    # descriptors to allow this number.
    # Syntax: security.maxConnections=(int)>1
    # Default: 50
    security.maxConnections=50
    # Backlog setting for very fine performance tunning of JServ.
    # Unless you are familiar to sockets leave this value commented
    out.
    # security.backlog=5
    # List of IP addresses allowed to connect to Apache JServ. This
    is a first
    # security filtering to reject possibly unsecure connections and
    avoid the
    # overhead of connection authentication.
    # <warning>
    # (please don't use the following one unless you know what you
    are doing :
    # security.allowedAddresses=DISABLED
    # allows connections on JServ'port from entire internet.)
    # You do need only to allow YOUR Apache to talk to JServ.
    # </warning>
    # Default: 127.0.0.1
    # Syntax: security.allowedAddresses=[IP address],[IP Address]...
    (Comma
    separated list of IP addresses)
    #security.allowedAddresses=127.0.0.1
    # Enable/disable connection authentication.
    # NOTE: unauthenticated connections are a little faster since
    authentication
    # handshake is not performed at connection creation.
    # WARNING: authentication is disabled by default because we
    believe that
    # connection restriction from all IP addresses but localhost
    reduces your
    # time to get Apache JServ to run. If you allow other addresses
    to connect and
    # you don't trust it, you should enable authentication to
    prevent untrusted
    # execution of your servlets. Beware: if authentication is
    disabled and the
    # IP address is allowed, everyone on that machine can execute
    your servlets!
    # Syntax: security.authentication=[true,false] (boolean)
    # Default: true
    security.authentication=false
    # Authentication secret key.
    # The secret key is passed as a file that must be kept secure
    and must
    # be exactly the same of those used by clients to authenticate
    themselves.
    # Syntax: security.secretKey=[secret key path and filename]
    (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    #security.secretKey=./etc/jserv.secret.key
    # Length of the randomly generated challenge string (in bytes)
    used to
    # authenticate connections. 5 is the lowest possible choice to
    force a safe
    # level of security and reduce connection creation overhead.
    # Syntax: security.challengeSize=(int)>5
    # Default: 5
    #security.challengeSize=5
    # Logging parameters
    # Enable/disable Apache JServ logging.
    # WARNING: logging is a very expensive operation in terms of
    performance. You
    # should reduced the generated log to a minumum or even disable
    it if fast
    # execution is an issue. Note that if all log channels (see
    below) are
    # enabled, the log may become really big since each servlet
    request may
    # generate many Kb of log. Some log channels are mainly for
    debugging
    # purposes and should be disabled in a production environment.
    # Syntax: log=[true,false] (boolean)
    # Default: true
    log=true
    # Set the name of the trace/log file. To avoid possible
    confusion about
    # the location of this file, an absolute pathname is recommended.
    # This log file is different than the log file that is in the
    # jserv.conf file. This is the log file for the Java portion of
    Apache
    # JServ.
    # On Unix, this file must have write permissions by the owner of
    the JVM
    # process. In other words, if you are running Apache JServ in
    manual mode
    # and Apache is running as user nobody, then the file must have
    its
    # permissions set so that that user can write to it.
    # Syntax: log.file=[log path and filename] (String)
    # Default: NONE
    # Note: if the file could not be opened, try using absolute
    paths.
    log.file=/d3/Apache/Jserv/logs/jserv.log
    # Enable the timestamp before the log message
    # Syntax: log.timestamp=[true,false] (boolean)
    # Default: true
    log.timestamp=true
    # Use the given string as a data format
    # (see java.text.SimpleDateFormat for the list of options)
    # Syntax: log.dateFormat=(String)
    # Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
    log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz]
    # Since all the messages logged are processed by a thread
    running with
    # minimum priority, it's of vital importance that this thread
    gets a chance
    # to run once in a while. If it doesn't, the log queue overflow
    occurs,
    # usually resulting in the OutOfMemoryError.
    # To prevent this from happening, two parameters are used:
    log.queue.maxage
    # and log.queue.maxsize. The former defines the maximum time for
    the logged
    # message to stay in the queue, the latter defines maximum
    number of
    # messages in the queue.
    # If one of those conditions becomes true (age > maxage || size
    maxsize),# the log message stating that fact is generated and the log
    queue is
    # flushed in the separate thread.
    # If you ever see such a message, either your system doesn't
    live up to its
    # expectations or you have a runaway loop (probably, but not
    necessarily,
    # generating a lot of log messages).
    # WARNING: Default values are lousy, you probably want to tweak
    them and
    # report the results back to the development team.
    # Syntax: log.queue.maxage = [milliseconds]
    # Default: 5000
    log.queue.maxage = 5000
    # Syntax: log.queue.maxsize = [integer]
    # Default: 1000
    log.queue.maxsize = 1000
    # Enable/disable logging the channel name
    # Default: false
    # log.channel=false
    # Enable/disable channels, each logging different actions.
    # Syntax: log.channel.[channel name]=[true,false] (boolean)
    # Default: false
    # Info channel - quite a lot of informational messages
    # hopefully you don't need them under normal circumstances
    # log.channel.info=true
    # Servlets exception, i.e. exception caught during
    # servlet.service() processing are monitored here
    # you probably want to have this one switched on
    log.channel.servletException=true
    # JServ exception, caught internally in jserv
    # we suggest to leave it on
    log.channel.jservException=true
    # Warning channel, it catches all the important
    # messages that don't cause JServ to stop, leave it on
    log.channel.warning=true
    # Servlet log
    # All messages logged by servlets. Probably you want
    # this one to be switched on.
    log.channel.servletLog=true
    # Critical errors
    # Messages produced by critical events causing jserv to stop
    log.channel.critical=true
    # Debug channel
    # Only for internal debugging purposes
    # log.channel.debug=true
    #wrapper.classpath=/d3/ord/jlib/ordim.zip
    #wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    # Oracle XSQL Servlet
    wrapper.classpath=/d3/lib/oraclexsql.jar
    # Oracle JDBC
    wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # Oracle XML Parser V2 (with XSLT Engine)
    wrapper.classpath=/d3/lib/xmlparserv2.jar
    # Oracle XML SQL Components for Java
    wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    # XSQLConfig.xml File location
    wrapper.classpath=/d3/xdk/admin
    # Oracle BC4J
    wrapper.classpath=/d3/ord/jlib/ordim.zip
    wrapper.classpath=/d3/ord/jlib/ordvir.zip
    wrapper.classpath=/d3/ord/jlib/ordhttp.zip
    wrapper.classpath=/d3/BC4J/lib/jndi.jar
    wrapper.classpath=/d3/BC4J/lib/jbomt.zip
    wrapper.classpath=/d3/BC4J/lib/javax_ejb.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-rt.jar
    wrapper.classpath=/d3/BC4J/lib/jbohtml.zip
    wrapper.classpath=/d3/BC4J/lib/jboremote.zip
    wrapper.classpath=/d3/BC4J/lib/jdev-cm.jar
    wrapper.classpath=/d3/BC4J/lib/jbodomorcl.zip
    wrapper.classpath=/d3/BC4J/lib/jboimdomains.zip
    wrapper.classpath=/d3/BC4J/lib/collections.jar
    wrapper.classpath=/d3/Apache/Apache/htdocs/onlineorders_html
    #wrapper.classpath=/d3/Apache/Apache/htdocs/OnlineOrders_html/Onl
    ineOrders.jar
    # The following classpath entries are necessary for EJBs to run
    in IAS or DB when
    present
    wrapper.classpath=/d3/lib/aurora_client.jar
    wrapper.classpath=/d3/lib/vbjorb.jar
    wrapper.classpath=/d3/lib/vbjapp.jar
    # Oracle Servlet
    wrapper.classpath=/d3/lib/servlet.jar
    # Oracle Java Server Pages
    wrapper.classpath=/d3/jsp/lib/ojsp.jar
    # Oracle Util
    wrapper.classpath=/d3/jsp/lib/ojsputil.jar
    # Oracle Java SQL
    wrapper.classpath=/d3/sqlj/lib/translator.zip
    # Oracle JDBC
    #wrapper.classpath=/d3/jdbc/lib/classes12.zip
    # SQLJ runtime
    wrapper.classpath=/d3/sqlj/lib/runtime12.zip
    # Oracle Messaging
    wrapper.classpath=/d3/rdbms/jlib/aqapi.jar
    wrapper.classpath=/d3/rdbms/jlib/jmscommon.jar
    # OJSP environment settings
    #wrapper.env=ORACLE_HOME=/d3
    # The next line should be modified to reflect the value of the
    SID for your
    webserver.
    #wrapper.env=ORACLE_SID=cmpdb
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib
    ## Enable the flag below if you are using jdk 1.2.2_05a or above
    #wrapper.env=JAVA_COMPILER=NONE
    # Advanced Queuing - AQXML
    wrapper.classpath=/d3/rdbms/jlib/aqxml.jar
    #wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/lib/xschema.jar
    #wrapper.classpath=/d3/jlib/jndi.jar
    wrapper.classpath=/d3/jlib/jta.jar
    oemreporting.properties=/d3/Apache/Jserv/oemreporting/oemreportin
    g.properties
    zones = root, oemreporting
    wrapper.classpath=/d3/jlib/share-opt-1_1_9.zip
    wrapper.classpath=/d3/jlib/caboshare-opt-1_0_3.zip
    wrapper.classpath=/d3/jlib/marlin-opt-1_0_7.zip
    wrapper.classpath=/d3/jlib/tecate-opt-1_0_4.zip
    wrapper.classpath=/d3/jlib/ocelot-opt-1_0_2.zip
    wrapper.classpath=/d3/jlib/regexp.jar
    wrapper.classpath=/d3/jlib/sax2.jar
    #wrapper.classpath=/d3/jlib/servlet.jar
    wrapper.bin.parameters= -DORACLE_HOME=/d3
    #wrapper.env=LD_LIBRARY_PATH=/d3/lib32
    wrapper.env.copy=DISPLAY
    wrapper.bin.parameters=-DORACLE_HOME=/d3
    #wrapper.classpath=/d3/lib/vbjorb.jar
    #wrapper.classpath=/d3/lib/vbjapp.jar
    wrapper.classpath=/d3/classes/classesFromIDLVisi
    wrapper.classpath=/d3/jlib/swingall-1_1_1.jar
    wrapper.classpath=/d3/jlib/ewtcompat3_3_15.jar
    wrapper.classpath=/d3/jlib/ewt-3_3_18.jar
    wrapper.classpath=/d3/jlib/share-1_1_9.jar
    wrapper.classpath=/d3/jlib/help-3_2_9.jar
    wrapper.classpath=/d3/jlib/ice-5_06_3.jar
    wrapper.classpath=/d3/jdbc/lib/classes111.zip
    wrapper.classpath=/d3/classes
    wrapper.classpath=/d3/jlib/oembase-9_0_1.jar
    wrapper.classpath=/d3/jlib/oemtools-9_0_1.jar
    wrapper.classpath=/d3/jlib
    wrapper.classpath=/d3/jlib/javax-ssl-1_1.jar
    wrapper.classpath=/d3/jlib/jssl-1_1.jar
    wrapper.classpath=/d3/jlib/netcfg.jar
    wrapper.classpath=/d3/jlib/dbui-2_1_2.jar
    #wrapper.classpath=/d3/lib/aurora_client.jar
    #wrapper.classpath=/d3/lib/xmlparserv2.jar
    wrapper.classpath=/d3/network/jlib/netmgrm.jar
    wrapper.classpath=/d3/network/jlib/netmgr.jar
    wrapper.classpath=/d3/network/tools
    wrapper.classpath=/d3/jlib/kodiak-1_2_1.jar
    wrapper.classpath=/d3/sysman/jlib/netchart360.jar
    wrapper.classpath=/d3/jlib/pfjbean.jar
    wrapper.env=SHLIB_PATH=/d3/lib32
    wrapper.env=LIBPATH=/d3/lib32
    wrapper.classpath=/d3/ultrasearch/lib/isearch_midtier.jar
    wrapper.classpath=/d3/ultrasearch/lib/isearch_query.jar
    wrapper.classpath=/d3/ultrasearch/lib/jgl3.1.0.jar
    wrapper.classpath=/d3/lib/mail.jar
    wrapper.classpath=/d3/lib/activation.jar
    wrapper.classpath=/d3/ultrasearch/jsp/admin/config
    # Additions for iFS
    ## DO NOT REMOVE OR ALTER THE FOLLOWING LINE ....
    # iFS true
    # Uncomment if you want to use the same Jserv as other
    applications
    wrapper.classpath=/d3/9ifs/custom_classes
    wrapper.classpath=/d3/9ifs/settings
    wrapper.classpath=/d3/9ifs/lib/adk.jar
    wrapper.classpath=/d3/9ifs/lib/email.jar
    wrapper.classpath=/d3/9ifs/lib/http.jar
    wrapper.classpath=/d3/9ifs/lib/release.jar
    wrapper.classpath=/d3/9ifs/lib/repos.jar
    wrapper.classpath=/d3/9ifs/lib/utils.jar
    wrapper.classpath=/d3/9ifs/lib/webui.jar
    wrapper.classpath=/d3/9ifs/lib/provider.jar
    wrapper.classpath=/d3/jlib/javax-ssl-1_2.jar
    wrapper.classpath=/d3/jlib/jssl-1_2.jar
    wrapper.env=ORACLE_HOME=/d3
    wrapper.env=ORACLE_SID=cmpdb
    wrapper.env=LD_LIBRARY_PATH=/d3/lib:/d3/ctx/lib:/d3/lib32
    wrapper.env=NLS_LANG=.US7ASCII
    ## Additions for the iFS zone
    # Uncomment if you want to use the same Jserv as other
    applications
    zones=ifs
    ifs.properties=/d3/Apache/Jserv/etc/ifs.properties
    # End iFS section

    About your home page; Manually set up Firefox with the window(s) and tab(s)
    the way you want them to be. Then;
    '''''Firefox Options > General > Homepage'''''.
    Press the button labeled ''''Use Current'''.'
    =====================================
    Open a new window or tab. In the address bar, type '''''about:config'''''.
    If a warning screen comes up, press the '''''Be Careful''''' button.
    This is where Firefox finds information it needs to run.
    At the top of the screen is a search bar. Enter '''''browser.newtab.url'''''
    and press enter. '''''browser.newtab.url'''''
    tells Firefox what to show when a new tab is opened.
    If you want, right click and select '''''Modify'''''. You can change the
    setting to;<BR><BR>about:home (Firefox default home page),<BR>
    about:newtab (shows the sites most visited),<BR>
    about:blank (a blank page),<BR>
    or you can enter any web page you want.<BR><BR>
    The same instructions are used for the new window setting, listed as
    '''''browser.startup.homepage'''''.

  • Problem with a DDI Device driver for Solaris 8 and 9 on a Sun-Blade-1500

    The problem has to do with dma allocated memory and the little-endian format.
    When I copy blocks bigger than 256 bytes to the dma memory, using a uiomove() or bcopy(), the data after the first 32 bytes is swapped around over 8 bytes.
    The bcopy from a driver (stack) buffer into the dma virtual memory has the same affect.
    So it has to do with the kernel dma allocated memory and the endianess.
    When I set the byte order to big-endian inside the ddi_device_acc_attr the data seems to be alright, also with bigger transfer sizes.
    My device however needs the little-endian format.
    I have the same the same device driver running without any errors on a Sun Blade-150 Solaris 8 for a long time now.
    Can somebody please advise me?
    Data example,
    test data: 0x00,0x01,0x02,?.
    64, 128 or 256 bytes blocks:
    000: 07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08
    016: 17 16 15 14 13 12 11 10 1F 1E 1D 1C 1B 1A 19 18
    032: 27 26 25 24 23 22 21 20 2F 2E 2D 2C 2B 2A 29 28
    048: 37 36 35 34 33 32 31 30 3F 3E 3D 3C 3B 3A 39 38
    064: 47 46 45 44 43 42 41 40 4F 4E 4D 4C 4B 4A 49 48
    080: 57 56 55 54 53 52 51 50 5F 5E 5D 5C 5B 5A 59 58
    096: 67 66 65 64 63 62 61 60 6F 6E 6D 6C 6B 6A 69 68
    112: 77 76 75 74 73 72 71 70 7F 7E 7D 7C 7B 7A 79 78
    512 or 1024 bytes blocks:
    000: 07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08
    016: 17 16 15 14 13 12 11 10 1F 1E 1D 1C 1B 1A 19 18
    032: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F <----- ?
    048: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F <----- ?
    064: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F <----- ?
    080: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F <----- ?
    096: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F <----- ?
    112: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F <----- ?
    Code example, how I allocate the DMA (kernel) memory:
    DDI_STRUCTURE_LE_ACC = Little Endian format
    DDI_STRUCTURE_BE_ACC = Big Endian format
    static struct ddi_device_acc_attr sse_dma_attr =
    DDI_DEVICE_ATTR_V0, /* The version number of this structure */
    DDI_STRUCTURE_LE_ACC, /* see above */
    DDI_STRICTORDER_ACC, /* How CPU will reference data, default */
    The dma definitions for allocating the DMA memory
    static ddi_dma_attr_t dmaattr= {
    DMA_ATTR_V0, /* version */
    0, /* starting address for DVMA */
    0xffffffff, /* end address for DVMA */
    0xffffffff, /* max transfer count in one cookie */
    0x1, /* address restrictive alignment, 1 = byte alignment */
    0x7, /* burst sizes */
    1, /* min number of byes */
    0x00ffffff, /* max number of bytes device can transmit/receive */
    0xffffffff, /* upper bound of the DMA engine's address */
    1,
    512,
    0, /* DDI_DMA_FORCE_PHYSICAL doesn't work */
    ddi_dma_alloc_handle()
    if((ret=ddi_dma_alloc_handle(xsp->dip,
    &dmaattr,
    DDI_DMA_SLEEP,
    NULL,
    dmahandle_out)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_dma_alloc_memory, "
    "ERROR ddi_dma_alloc_handle status = %d\n",
    ret);
    return(ret);
    if((ret=ddi_dma_mem_alloc(*dmahandle_out,
    (uint_t) size,
    dma_acc_attr,
    DDI_DMA_CONSISTENT,
    DDI_DMA_SLEEP,
    NULL,
    (caddr_t *)&raw_kern_addr,
    &real_len,
    dma_acc_handle_out)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_mem_alloc status = %d\n",
    ret);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);
    This will also init the PCI - IOMMU for
    address translation.
    if((ret=ddi_dma_addr_bind_handle(*dmahandle_out,
    NULL,
    (caddr_t)raw_kern_addr,
    real_len,
    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
    DDI_DMA_SLEEP,
    NULL,
    &dma_cookie,
    &count)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_addr_bind_handle status = %d\n",
    ret);
    ddi_dma_mem_free(dma_acc_handle_out);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);
    if((ret=ddi_dma_sync(*dmahandle_out,
    0,
    real_len,
    DDI_DMA_SYNC_FORDEV)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_sync status = %d\n", ret);
    ddi_dma_unbind_handle(*dmahandle_out);
    ddi_dma_mem_free(dma_acc_handle_out);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);

    I am having the similar problem identified in this thread.
    OS: Sun Solaris 10 01/06
    Hardware: Sun Blade 2500
    PCI Memory card.
    Problem: When driver moves more then 40 bytes via PIO from a PCI device memory card, the long words are swapped starting at 40 byte transfer size and greater.
    device memory description:
    static ddi_device_acc_attr_t sdram_access_attr =
    DDI_DEVICE_ATTR_V0, /* Boilerplate value */
    DDI_STRUCTURE_LE_ACC,
    DDI_STRICTORDER_ACC /* Don't reorder accesses */
    The user application does a read call, which goes to xxread. xxread calls physio( xxstrategy, bp, dev, B_READ, xxminphys, uio );
    In xxstrategy the transfer is done using
    ddi_mem_rep_get8(ucb->ucb_sdram_accHndl,
    (uint8_t*) kaddr,
    (uint8_t*) raddr,
    (size_t) bp->b_resid),
    (uint_t) DDI_DEV_AUTOINCR );
    PCI Device memory is loaded with incrementing address (8bit), 0,1,2... This is confirmed using a PCI Bus Analyzer.
    A read of 36 bytes or less returns:
    03 02 01 00 07 06 05 04 ...
    A read of 40 bytes returns:
    07 06 05 04 03 02 01 00 ...
    If I peek 1 byte at a time using ddi_get8(ucb->ucb_sdram_accHndl, ...) I get
    00 01 02 03 04 05 06 07
    Why are the long words swapped starting at 40 byte transfer size and greater?

  • Problem with factory resetting Airport Express

    I am trying to do a hard factory reset my airport express. I want to reset it to the factory default so that I can change the settings so that it connects to my comcast wirless modem. I followed the instructions on the apple support site. I held the reset button will the device was unplugged and then plugged it in while still holding the reset button. I held it until the green light flashed four times. But the stupid thing will not reset at all. Just the same blinking orange light. No green light. And of course, non identifiable on airport admin utility. This is really frustrating. Anyone know how to solve this problem.
    Thanks

    I have the exact problem described by AKAPLG. I've tried EVERYTHING with no good result.
    - My network does NOT show up in AirPort Utility (and even the old Airport Admin Utility)
    - Even after hard reset I can still see the old name of my network but am still unable to join it.
    - I've tried connecting directly with Ethernet to my MacBook Pro, but it is unclear what I'm supposed to do next, the manual doesn't mention this at all. When it's connected I do not see my AX in the AirPort Utility menu when I rescan.
    - The "Factory Reset" described by the booklet that came with the 802.11n device is inconsistent with what I see when I try it. I get a single green blink followed by a long solid yellow (sorry Amber) followed by blinking amber. I never see 4 green blinks, as described.
    This is the worst Apple experience I've ever had. Period. Any more advice please before I take this POS back to the store and trade it for a punch in the ribs or a hot stick shoved in my eye?
    Message was edited by: jpembert

  • Performance problem with SQL in NT vs. Solaris

    Hi, I am using the thin driver in classes12.zip. The 8.1.5 server runs on a solaris box. With the same code executing the same sql statement against the same database using the same version of JRE, Statement.execute() takes 5-10 times longer on a solaris client then a NT client. The other java code doesn't show any noticeable performance degradation. Has anyone seen this problem before? Thanks in advance.

    JDK1.3.0 on NT and JDK1.2.2/JDK1.3.0Beta on Solaris (tried both jdk on solaris, pretty much the same result). The network set up is this:
    1 Oracle Server (8.1.5)
    1 Web Server (Alliaire JRun, running servlets, communicates with oracle server via JDBC thin driver)
    a couple clients using explorer or netscape
    The problem is actually the web server. When the webserver is installed on NT, a sql call (stmt.executeUpdate(sql) for example) takes say 10 seconds, the same call will take twice as long or more on Solaris. The reason why I don't think JRun solaris/NT version makes that much of a difference is that besides the JDBC calls, all the other java codes completes at about the same rate.
    null

Maybe you are looking for

  • ERROR MESSAGE -48

    I keep on getting an error message with an error code of -48. Such as "The iPod cannot be updated. An unknown error occurred -48. I've disabled Norton but am at a loss as to how get around this problem. It's driving me mad. Hope you can help!

  • Will T420 Laptop Work With T61 Docking Station?

    I'm getting ready to replace about 50 T61 laptops with T420. Will my existing docking stations work, or do I need to buy all new docks as well? Thanks

  • "Use iTunes to restore" - Doesn't recognize

    My 1 GB iPod nano (first generation? says 2006 on the back) just stopped working while I was skipping to the next song. A message came up (in several different languages) that said USE iTUNES TO RESTORE. I connected to iTunes and did a restore. Then

  • Reg: Where clause in Hier queries -

    Hi Experts, I'm trying to understand the way Oracle calls the 'where' clause in case of 'connect by level' queries. Is it first creating all the rows using connect-by-level and then filtering the rows using where clause? (This is with reference to th

  • What is error number -4470 returned by Flexmotion command mean

    The error is returned from the first Flex_config_axis. The other commands return 0. - Thanks in advance FlexStatus = flex_initialize_controller(PCI7344, 0); FlexStatus = flex_config_axis (PCI7344, 0, 0, NIMC_STEP_OUTPUT3, 0, SlideMotorAxis); // Slide