Using Shared Object Libraries

How (or what) do we set when using shared object libraries?
We have Java Native Methods which are implemented using C++ and stored in shared object libraries. We can build our project, but when trying to execute the project, the shared object libraries are not found. We had tried to set the external execution settings to include the library paths, but nothing seems to take affect.
What do we need to set to run with the shared object libraries?

RK,
I appreciate your responce, hopefully we'll get this worked out. I will try to give you as much information as I can so you will hopefully understand the problem.
We have added a Library Reference to our project - which is a jar file - this jar file contains our Business Objects which are implemented in Java. Within this Library Reference, there is a Java class which has a Native method. The method is implemented in C++ The C++ implementation of this method is within a C++ shared object library (libname.so).
How do we let Creator know that we need to link in this C++ Shared Object Library at run time?
The Modifers Properties for the method in the library reference are correctly set - that is they are set to Native. For a method within a java element, selecting or un-selecting this modifier simply changes the method declaration. It does not tell Creator where the actual implementation is (shared object library in this case).
As originally stated, we tried to include our shared object library in the Execution Property of the properties window for the Java Element. Here is what we have done so far - all unsuccessful....
Under the External Execution Property - we added the environment variable LD_LIBRARY_PATH set to our shared object library path. We also selected the Append Environment Variable (set to true). We are not able to modify the Library Path of the External Execution Property - it will not allow changes - all buttons are disabled in the pop up window.
There are no properties for the Internal Execution within the Executor Properties, so there is nothing we can set there.
We have tried to set the Debugger Execution properties in the same manner as the External Execution properties to run the project in Debug mode - and have the same problem - while executing the project, we get the error message which indicates that our shared object library can not be found.
There are no property settings available on the J2EE Server Execution Properties to set.
What do we need to set so that this Shared Object Library will be located during execution of our project under SJSC?
Thank you for any suggestions you may have.
--Scott                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Forms 2.1 calling shared object libraries

    Can Forms 2.1 on Solaris 2.6 make calls to shared object
    libraries? What are the limitations / issues?
    I have a large legacy COBOL program which I would like to
    restructure and capture the business rule implementations into
    shared object libraries. I would then like to implement a new UI
    (character or GUI) for part of the system in Forms. I would
    consider using forms built in features for getting data from the
    database but all inserts updates and deletes will go through the
    business rule layer implemented in COBOL and deployed as shared
    object libraries on unix.
    Any and all help is appreciated.
    Regards
    Terry Bakker
    null

    Terry Bakker (guest) wrote:
    : Can Forms 2.1 on Solaris 2.6 make calls to shared object
    : libraries? What are the limitations / issues?
    : I have a large legacy COBOL program which I would like to
    : restructure and capture the business rule implementations into
    : shared object libraries. I would then like to implement a new
    UI
    : (character or GUI) for part of the system in Forms. I would
    : consider using forms built in features for getting data from
    the
    : database but all inserts updates and deletes will go through
    the
    : business rule layer implemented in COBOL and deployed as shared
    : object libraries on unix.
    : Any and all help is appreciated.
    : Regards
    : Terry Bakker
    I have used Foreign Function Interface call (FFI) in Forms 5.0
    to call function in Dynamic Linking Library (DLL) on Windows/NT.
    You may be able to do the same thing (use FFI) to call shared
    object libraries on Solaris.
    Peter Ng
    null

  • How do I effectively use my Object Libraries ?

    I have created a generic form which allows users to search a name in a database table. I have created an Object Libarary and added the Blocks, Canvas, etc. to this OLB file.
    My concern is reusing this object in several applications without having to customize each time I attach it to a new form.
    Does anyone have experience with reusing Object Libraries? If so, how do you make modifications to your OLB file so that it propagates to the other forms using it?
    Thanks,
    Bob

    Rather than having to post to loads of people, the note is available on metalink.oracle.com and the note number is NOTE:63373.1 and the title is:
    Oracle Froms & Object Libraries - An overview.
    If you have problems getting this from metalink then post me back and we will try something else.
    Regards
    Grant
    p.s. Support could send it out as well.

  • Firefox 5 or 6 served over NFS to UNIX clients has problem finding shared object libraries.

    With versions of firefox 3 and below, I was able to serve the application from a NFS share to all client workstations. Now I can not find a version above 3 that will run from just the NFS share. They all need shared libraries local (instead of just using the shared libraries in the NFS share)

    It is just on Solaris we have the issue and even with local installed libraries it still crashes alot. On Redhat it works fine with the libraries in the NFS share.

  • A query regarding synchronised functions, using shared object

    Hi all.
    I have this little query, regarding the functions that are synchronised, based on accessing the lock to the object, which is being used for synchronizing.
    Ok, I will clear myself with the following example :
    class First
    int a;
    static int b;
    public void func_one()
    synchronized((Integer) a)
    { // function logic
    } // End of func_one
    public void func_two()
    synchronized((Integer) b)
    { / function logic
    } // End of func_two
    public static void func_three()
    synchronized((Integer) a)
    { // function logic
    } // End of func_three, WHICH IS ACTUALLY NOT ALLOWED,
    // just written here for completeness.
    public static void func_four()
    synchronized((Integer) b)
    { / function logic
    } // End of func_four
    First obj1 = new First();
    First obj2 = new First();
    Note that the four functions are different on the following criteria :
    a) Whether the function is static or non-static.
    b) Whether the object on which synchronization is based is a static, or a non-static member of the class.
    Now, first my-thoughts; kindly correct me if I am wrong :
    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisation, since in case obj1 and obj2 happen to call the func_one at the same time, obj1 will obtain lock for obj1.a; and obj2 will obtain lock to obj2.a; and both can go inside the supposed-to-be-synchronized-function-but-actually-is-not merrily.
    Kindly correct me I am wrong anywhere in the above.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation.
    Kindly correct me I am wrong anywhere in the above.
    c) In case 3, we have a static function , synchronized on a non-static object. However, Java does not allow functions of this type, so we may safely move forward.
    d) In case 4, we have a static function, synchronized on a static object.
    Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation. But we are only partly done for this case.
    First, Kindly correct me I am wrong anywhere in the above.
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".
    Another query : so far we have been assuming that the only objects contending for the synchronized function are obj1, and obj2, in a single thread. Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.a; and again obj1 trying to obtain lock for obj1.a, which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed. Thus, effectively, our synchronisation is broken.
    Or am I being dumb ?
    Looking forward to replies..
    Ashutosh

    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisationThere is no synchronization between distinct First objects, but that's what you specified. Apart from the coding bug noted below, there would be synchronization between different threads using the same instance of First.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.obj1/2 don't call methods or try to obtain locks. The two different threads do that. And you mean First.b, not obj1.b and obj2.b, but see also below.
    d) In case 4, we have a static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.Again, obj1/2 don't call methods or try to obtain locks. The two different threads do that. And again, you mean First.b. obj1.b and obj2.b are the same as First.b. Does that make it clearer?
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".That's what happens in any case whether you write obj1.func_four(), obj2.func)four(), or First.func_four(). All these are identical when func_four(0 is static.
    Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.aNo we don't, we have a thread trying to obtain the lock on First.b.
    and again obj1 trying to obtain lock for obj1.aYou mean obj2 and First.b, but obj2 doesn't obtain the lock, the thread does.
    which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed.Of course it won't. Your reasoning here makes zero sense..Once First.b is locked it is locked. End of story.
    Thus, effectively, our synchronisation is broken.No it isn't. The second thread will wait on the same First.b object that the first thread has locked.
    However in any case you have a much bigger problem here. You're autoboxing your local 'int' variable to a possibly brand-new Integer object every call, so there may be no synchronization at all.
    You need:
    Object a = new Object();
    static Object b = new Object();

  • To use Shared Object runtime

    I tried to share a string's value between two application, in
    a way that allow the first one to read a value writed by the second
    one in runtime. It doesn't work!
    The *.sol file is the same, but maybe each application have a
    different copy of this file in the own memory
    Infact refreshing the page is possible obtain a correct
    value.
    This are my SharedObject's instance in the applications:
    var mySO:SharedObject = SharedObject.getLocal("scambio",
    of course in the same domain.
    How can I share data between more application in
    runtime?

    Also not a reply. Same problem. I looked inside my single
    mysterious SOL file and found that each application was updating
    the information, but neither of them would read anything, but what
    they added in. The data from the other application (and for testing
    purposes I used identical code in different directories) was
    ignored, despite the fact I could see that the SOL file had been
    updated.
    Edit: I have noticed that if App1 sets a LSO then App2 can
    read the common LSO data. If, however, App2 then sets the same data
    to something else, App1 wont see the changes. Additionally if I go
    back and repeat App1's setting of the LSO, App2 no longer reads the
    LSO changes. Any help to get App1 and App2 to consistently talk to
    each-other via LSOs would be appreciated.

  • Using shared objects to create bookmarks in a course module

    I'm relatively new to Flash ActionScripting so I'm
    looking for a little help from those who live and breathe the code.
    I've been banging my head around for weeks trying to get this
    function to work in my module (books, tutorials, internet etc...).
    My module is rather simple. Each page of content is it's own .swf
    file. I call up each .swf by programming the navigation buttons
    (Back, Next) with this script:
    //Next button
    on (release) {
    stopAllSounds();
    loadMovie ("1_2.swf",0)
    //The following Next button script would be:
    on (release) {
    stopAllSounds();
    loadMovie ("1_3.swf",0)
    And so on.
    I have approximately 49 .swf files (pages of content) in my
    module approximately 1 1/2 hrs. So you can see why bookmarking is
    important to me as well as my users. If I could get an idea on how
    to create the script on the first .swf and what scripting needs to
    be on the following .swf's it would be greatly appreciated.

    did you manage to solve this? we are looking for the same issue.

  • How to Get property values from Shared Object in client's load event - Very urgent

    I am using shared object to share data between two users. First user connect to shared object and set some value in shared object. Please consider that second user has not connected with the shared object yet.
    Now when second user connects to the server and try to get that property set by first user, he could get shared object but could not get properties of Shared object set by first user. I observed few times that Second user can get these properties within "Sync" event between two users. But I would like to get these values for Second user in any stage (i.e. in load event etc.). Whenever Second user tries to get the property of Shared object, the object will reset the actual property value and then return reset value.
    Anyone faced such issue while using shared object between two users. If so, I would appreciate if you could let me know your suggestions for following questions:
    1) Is there any way to get all the properties of shared object before sync event called, as I want to get it immediately when second user connect to the application and perform next task based on the values stored in shared object.
    2) Is it possible for second user to check whether any property has been set by first user? So that second user can use the property instead of reset it.
    Any kind of help would be greatly appreciated.
    Thank You.

    I am using shared object to share data between two users. First user connect to shared object and set some value in shared object. Please consider that second user has not connected with the shared object yet.
    Now when second user connects to the server and try to get that property set by first user, he could get shared object but could not get properties of Shared object set by first user. I observed few times that Second user can get these properties within "Sync" event between two users. But I would like to get these values for Second user in any stage (i.e. in load event etc.). Whenever Second user tries to get the property of Shared object, the object will reset the actual property value and then return reset value.
    Anyone faced such issue while using shared object between two users. If so, I would appreciate if you could let me know your suggestions for following questions:
    1) Is there any way to get all the properties of shared object before sync event called, as I want to get it immediately when second user connect to the application and perform next task based on the values stored in shared object.
    2) Is it possible for second user to check whether any property has been set by first user? So that second user can use the property instead of reset it.
    Any kind of help would be greatly appreciated.
    Thank You.

  • Issue with Shared Objects

    Hi all,
    I've a problem with a program working on Shared Objects technology.
    We have a Job, scheduled in 18 parallelism, and each one writes into the SHM controlled by a SHMA Class.
    At jobs ending, a program reads content from the area and sends an automatic e-mail with the results.
    Everything works well if the writer program is executed on-line.
    Otherwise, in background, seems that nothing is stored in the SHM.
    Here's the code executed by the writer program:
    FORM shared_memory_access  TABLES  it_fehler STRUCTURE rpfausg.
      DATA: errors_reference TYPE REF TO data.
      DATA: lx_pterl00       TYPE REF TO zcx_pterl00_collector.
      TRY.
    * --> Get SHM Access
          CALL METHOD zcl_pterl00_collector_root=>build
            EXPORTING
              invocation_mode = cl_shm_area=>invocation_mode_explicit.
    * --> It's ok?
          IF zcl_pterl00_collector_root=>area_exists EQ 'X'.
    * --> Fill Data:
            GET REFERENCE OF it_fehler[] INTO errors_reference.
            CALL METHOD zcl_pterl00_collector_root=>fill_area_with_data
              EXPORTING
                error_messages_dref = errors_reference.
          ENDIF.
        CATCH zcx_pterl00_collector INTO lx_pterl00.
          MESSAGE lx_pterl00 TYPE 'S' DISPLAY LIKE 'E'. "Non-blocking -> JOBS
      ENDTRY.
    ENDFORM.                    " SHARED_MEMORY_ACCESS
    Here is the section from the class handling the attachment to the SHMA:
    METHOD if_shm_build_instance~build.
      DATA: lx_collector TYPE REF TO zcx_pterl00_collector.
    * --> Automatic building of instance:
      TRY.
          CALL METHOD get_handle_for_update( inst_name ).
        CATCH zcx_pterl00_collector INTO lx_collector.
          MESSAGE lx_collector TYPE 'X'.
        CATCH: cx_shm_no_active_version.
          TRY.
              CALL METHOD get_handle_for_write( inst_name ).
            CATCH zcx_pterl00_collector INTO lx_collector.
              MESSAGE lx_collector TYPE 'X'.
          ENDTRY.
        CATCH: cx_shm_inconsistent.
          zcl_pterl00_collector=>free_area( ).
          TRY.
              CALL METHOD get_handle_for_write( inst_name ).
            CATCH zcx_pterl00_collector INTO lx_collector.
              MESSAGE lx_collector TYPE 'X'.
          ENDTRY.
      ENDTRY.
    ENDMETHOD.
    I cannot explain why multiple jobs do not populate the area...

    Hi Rob,
    if your requirement is to have many (18) active processes all updating the shared object, and very few simply reading the shared object, then versioning is probably not what you require.
    Versioning allows readers to continue to attach and read the active shared object instance while the updater gets their own instance of the shared object. When the updater does a detach_commit the old instance becomes obsolete and all new requests to attach will be diected to the new instance. The old instance will be cleaned up by garbage collection once all of its readers have detached.
    If your programs primarily attach for update then you will decrease performance with versioning because a new instance needs to be created at every attach for update.
    Perhaps you should just retry the attach for update after a small period of time has passed?
    If, on the other hand, you do have lots of other readers of the shared object you may well still find that it is more efficient not to have versioning. I build a web shop catalogue using shared objects and found that versioning severly hampered performance. This was because, once the catalogue was initialised, updaters were pretty rare but readers were constant.
    BTW make sure you keep the locks on the object as short as possible. Do all your preparation work first, then attach for update, update, detach as quick as possible.
    Cheers
    Graham Robbo

  • SHMA - Shared Objects

    hi folks,
    we're using shared objects and are wondering how it could be easily achieved to build the "sharded objects" automatically on ALL !!!! application-server, or do we have to start the build-programs per each server manually ????
    kind regards,
    oliver

    Hi,
    why don't you use an RFC enabled FM?
    You should create many Shared Memory Areas as you need on every application server, and then call up the FM remotely, distributing the call on each server.
    After all, the FM implementation should contain the preloading for burn up the shared memory automaitically at read-request and that's all..
    Imagine, you can create the FM with a generic table parameter, which you will pass to the root object of every shared memory to fill a class-attribute.
    This will be the same in every application server who responses to the RFC call: you start the FM on an the application server XX1 and this will distribute the call to the AS XX2, XX3 and XXX, passing the same internal table. Every FM contains the implementation to set an attribute "TABLE" of every class set up as root object for an area instance.
    Obviously, every call on one AS will refresh (or create new versions of) shared objects in all the AS linked with the RFC, to ensure data will be equals all the time.
    Hope this helps,
    R.
    Message was edited by:
            Roberto Pagni

  • Shared Objects Propogate

    Hello Friends,
    I am using shared object to share data across users/sessions/applications servers for a particular system and client,when i want to push data from 1 application to all other application servers,i use the method cl_ps_hlp_shm_area propogate,but this is not working,can anyone help me.
    regards
    kaushik

    I've also done the following:
                    private var my_so:SharedObject;
    maybe I also need to make the   my_so.data bindable as well so that the
    following code works as well?
    <mx:Button toolTip="{(my_so.data.wantMusic)?'Turns off music':'Turns on
    music'}"
                   id="musicOn"
                   icon="{(my_so.data.wantMusic)?imgPlayClass:imgPlayOff}"
                    cornerRadius="9" fillAlphas="[1.0, 1.0]"
    fillColors="[#0FEFBD, #7106D5]" width="26">
            <mx:click>
                    <![CDATA[
                        my_so=SharedObject.getLocal("mediaCenter");
                        if (my_so.data.wantMusic)
                            stopIntroSound();
                            my_so.data.wantMusic=false;
                            my_so.flush();
                        else
                            playIntroSound();
                            my_so.data.wantMusic=true;
                            my_so.flush();
                    ]]>
                </mx:click>
        </mx:Button>
    best wishes
    Nikos

  • Shared Objects ios

    Hello,
    I created a simple game for mobile devices using AIR. I use shared objects to save a few achievements and high scores to the device. The problem is that this works perfectly for android devices but the very same code does not work for the iPhone. Anyone else have this problem?

    FIXED - For some reason I had to run flush() in the DEACTIVATE method. Didn't have to do this for Android.
    NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);
    function handleDeactivate(event:Event):void {
        volLevel = 0;
        volTransform.volume = volLevel;
        musicChannel.soundTransform = volTransform;
        achieve.flush();
        sStar.flush();

  • Shared Objects and IOS 5.0+

    So, I need a straight answer. Can I use Shared Objects for my game, or will apple fail me for using them?  Will Shared Objects be backed up with iCloud?
    Thanks,
    diss.

    Boat,
    From what I have found if your IPA/APK/SWF is the same name then shared objects data should retain.
    So if version 1 of your app was
    AppleApp.ipa published from a swf by the name of AppleApp.swf
    then when you update on your final publish save your swf and .ipa under the same name
    Dont do this
    First version is
    AppleAppV1.swf published out to AppleApp.ipa
    Second version is AppleAppV2.swf published out to AppleApp.ipa
    The swf is what the shared object is associated with so keep that the same from update to update.

  • Where does flash stores the local shared object data

    HI All,
    I'm using shared object to store local data:
                    var so:SharedObject = SharedObject.getLocal(storageName);
                    // Store the data
                    so.data.userName = userName;
                    so.flush();
    Where does it actually saved on my hard disk (in windows vista operating system).
    10x,
    Lior

    http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Live Docs_Book_Parts&file=lsos_087_3.html
    The term local refers to the location of the shared object.
    In this case, Adobe Flash Player stores the SharedObject file locally
    in the client's home directory.
    When you create a shared object, Flash Player creates a new
    directory for the application and domain. It also creates an empty
    *.sol file that stores the SharedObject data. The default location of
    this file is a subdirectory of the user's home directory. On Windows,
    this directory is the following by default:
    c:/Documents and Settings/username/user_domain/Application Data/Macromedia/Flash Player/web_domain/path_to_application/ApplicationName/objectName.sol
    If you request an application named MyApp.mxml on the local host, in the Flex context, and within a subdirectory named /sos, Flash Player stores the *.sol file in the following location on Windows:
    c:/Documents and Settings/username/user_domain/Application Data/Macromedia/Flash Player/#localhost/flex/sos/MyApp.mxml.swf/objectName.sol

  • Using COM object library & components in Java

    I've built an application that allows a PC (connected to a mobile phone by cable) to send & receive SMS from another mobile phones, using VB & Nokia PC Connectivity SDK. I want to rewrite the application in Java.
    As I have read in the documentation, Nokia PC Connectivity libraries are implemented as COM libraries. That is why I am asking if can I use COM object libraries & components in Java???
    And does Java environment supports object libraries as VB or C++ does???
    I am a VB programmer, but I am migrating now to Java which is why I have little knowledge about it. Please be kind enough to help me with this & with my learning about Java. Any help & suggestions are very well accepted.
    Thanks a lot

    I suggest that if you have a COM library dependency and lock-in, then Java is not the natural choice of platform. If you can re-write the Nokia connectivity app in Java, then that would be best. If you are just doing this to learn Java, then leave it and learn Java on a diff project!
    When you talk of object libraries, I am guessing you are just talking about software components (as COM objects could be classed)... in which case - of course Java supports components. Take a look at JavaBeans.
    HTH

Maybe you are looking for

  • Error while using apple store app for purchase

    Hi, I was using an apple store apps to make the purchase at irvine spacktrum apple store, I bought a PNY USB Flash Drive 8GB using the apps to make the payment. Some how it was giving me errors when the apps asked my 3 digits credit card security num

  • TrackPad Not Working - Urgent help please

    Hi all Hope you can help. The top case of my 12 G4 PowerBook is damaged so I bought a replacment. Fitted it and the tackpad would not work. Got another and the same result, the trackpad would not work. I made sure with the second one, that the topcas

  • Disable cut option in Indesign CS5.5

    Hi, I want to disable CUT option in indesign once document is opened. I have added ActionFilter.cpp in my project and added following code in "FilterAction" function, IDocument* myDoc = Utils<ILayoutUIUtils>()->GetFrontDocument();     if (myDoc)     

  • Warning message under 'Diagnostics'

    When I go to >'about this mac' >diagnostics, I noticed this message and am wondering what it means. Last Run: 27/08/2010 16:13 Result: Failed Failure type: Memory Memory slots: DIMM2/J13, DIMM3/J14 I put some extra ram in some time ago...could it be

  • ABAP WebDynpro: pass a param into action

    Hello, Is it possible to pass a parameter into action? I have something such code: drop_down_figure = cl_wd_dropdown_by_key=>new_dropdown_by_key( bind_selected_key = 'REPOSITORY.FIGURES' on_select = 'GET_OPERATOR' ). I need to be able to pass a param