Java native interface: best practices?

Hi all
I'm trying to access a database with the C API from a tomcat/glassfish server by using API native Java.

I put the environment in the context of the application for all users will share the same instance of the database.

first question: is this a good idea? What would be the best practice? can I use this application in a multithreaded environment?

The problem was that the 'System.loadLibrary' method is called whenever my application is redeployed: If an exception was thrown (library already loaded), because the server has already loaded the db library in a previous deployment. To solve the problem, I put a silencer ' try... catch...» "around this System.loadLibrary in the source code of com/sleepycat/db/internal/db_javaJNI.java

2nd question: is there a way to avoid this hack?

Thank you for any response

Stone

Hi Pierre,.

Sorry for the delay in his response to this request.

In answer to your first question, it is to access a Berkeley DB environment handle from multiple threads in Java. No specific configuration is required.

The second question is not specific to Berkeley DB: it applies to any library JNI accessed via a class loader other than the system class loader. For example, see this thread:

http://forums.Sun.com/thread.jspa?threadID=633985

In the case of Berkeley DB, where you're unlikely to deploy a version update on the fly, the simplest solution is to make sure that the native library is loaded by the class loader running Tomcat with db.jar common/lib, and no WEB-INF/lib of your webapp.

Kind regards
Michael Cahill, Oracle Berkeley DB.

Tags: Database

Similar Questions

  • Can we use JNI (Java Native Interface) approach in the Blackberry applications?

    Hello

    Someone help me find if we use the JNI (Java Native Interface) approach in applications Blackberry JDE version 4, 5?

    of course, use logic and rewrite in java. the actual coding usually takes only a small amount of development time, if you have a proper design.

  • Java Native Interface (JNI) for connectivity Oracle Service Bus

    Hi all

    We have a legacy database and its functionality exposed by some of the C/C++ API programs. Our requirement is to make the use of these APIs and integrate the Oracle Service Bus (ESB of Oracle Fusion Middleware)/BPEL

    From now on, the C/C++ API have been compiled into a library and called from a JAVA JNI class. So according to the concepts of the JNI, java class simply calls the native methods that are implemented in C/C++, by calling to this library.

    Here is an example of an implementation:

    public class DatabaseConnector {

    public native String establishConnection(  String ServerName, String UserName, String Password );

    static {
      
    System.loadLibrary(LIBRARRY_NAME);
    }

    public static void main(String[] args) {

      
    DatabaseConnector dbconn = new DatabaseConnector();  
      
    String result = dbconn.establishConnection(args[0], args[1], args[2]);
      
    System.out.println("Result of Connection Establishment: " + result);

    }
    }

    Autochanger_name (libLIBRARY_NAME.so) contains the implementation of the native method for creating the connection, refreshing connection, sending message, etc.

    Now, what is the best way to integrate this feature of JNI in an Oracle Service Bus/BPEL?

    Legacy-> Db-> C/C++-> JAVA JNI API? -> OSB/BPEL

    1. Is it really possible to write a based on this JNI EJB session bean? I understand, EJB standards are against loading native libraries directly in the Java class, as a result of NYI.
    2. Is it possible to write any custom JCA adapter for this? What are the possible areas that I need to answer then?
    3. All other possible ways that you think would be appropriate?

    There is a requirement of the settlement planning. As a connection method refresh should be called every X minutes to keep the connection open. Topology wise there are no restrictions to run native code and the Weblogic container on the same machine.

    Any suggestions much appreciated. Let me know if you need more information.

    Kind regards

    Billon

    Hi Bhaskar,

    Both JAX - RS and adapter resources must be built on top of the NYI... With the help of Tuxedo allows to eliminate the use of the NYI...

    If you need/want to eliminate JNI, the solution is to make the native libraries behave as a provider of services, exhibition services via a network protocol... You can do this with or without smoking, but I like the Tuxedo approach...

    However, if you're ok with JNI, build a resource adapter...

    See you soon,.

    Vlad

  • Using blackberry Java native methods

    Hi all

    can anyone suggest me how to implement the native methods from java in blackberry apps. In singles, I have a C code, I want to use this code in my blackberry App when I google, I found that java supports the native to consume methods the

    Code of C/C++ in java applications. I want the same thing to do in my blackberry app.

    If someone implementd that kind of technique, so please give the steps or the way how to implement this.

    Verify that this son.

    http://supportforums.BlackBerry.com/T5/Java-development/JNI/m-p/41140

    http://supportforums.BlackBerry.com/T5/Java-development/can-we-use-JNI-Java-native-interface-approac...

  • Where to put the java code - best practices

    Hello. I work with the Jdeveloper 11.2.2. I'm trying to understand the best practices for where to put the code. After reviewing the http://docs.oracle.com/cd/E26098_01/web.1112/e16182.pdf, it seemed that request module was the preferred location (although many examples in the pdf file reside in the main methods). After some time of coding, if, I noticed that there was a certain libraries imported and wondered if this would impact performance.

    I looked at the articles published on the forum, in particular Re: programmatically access the method of service (customer interface) . This link mentions for access to the code a bean of support - and the bulk of the recommendations seem to be using the data control to drag to the Joint Strike Fighter, or use the links to access code.

    My interest lies in where to put the java code in the first place; In the view object, entity object, and... other Am, backing bean object?

    I can describe several guess better know where to put the code and the advantages and disadvantages:

    1. in the application module
    Benefits: Central location for code makes development and support easier as there are not multiple access points. Kinda like a data control centralizes the services, the module of the application can act as a conduit for the different parts of the code you have in your model objects.
    Cons: Everything in one place means that the module of the application becomes bloated. I don't know how the memory works in java - if the app module has tons of different libraries are all called when even a method of re - run a simple query is called? Memory of pigs?

    2. write the code in the objects it affects. If you write code that accesses a view object, write it to a display object. Then make it visible for the customer.
    benefits: the code is accessible through ducts less (for example, I expect that if you call the module from the application of a JSF backing bean, then the module of the application calls the view object, you have three different pieces of code-)
    CONT: the code gets spread, more difficult to locate etc.

    I would greatly appreciate your thought on the issue.


    Kind regards
    Stuart

    Published by: Stuart Fleming on May 20, 2012 05:25

    Published by: Stuart Fleming on May 20, 2012 05:27

    First point here is when you say 'where to put the code of java' and you're referring to ADF BC, the point is that you put 'code of java business logic' in the ADF business components. Of course it is very good to have the Java code in the ViewController layer that covers the user interface layer. Just don't put the business logic in the user interface layer and don't put no logical user interface in the model layer. In your 2 examples you seem to consider the ADF BC layer only, so I'll assume that you're not only serious logic java code.

    Meanwhile, I'm not keen on best practices in the term that people are following best practices without thinking, usually best practices come with conditions and forget to apply. Fortunately you do not here that you have thought through the pros and cons of each (nice work).

    Anyway, back on topic and turn off my soap box, regarding where to put your code, my thoughts:

    (1) If you have only 1 or 2 methods set in the AppModuleImpl

    (2) If you have hundreds of methods, or there is that a chance #1 above will turn into #2, divide the code between the AppModuleImpl, the ViewImpl and the ViewRowImpls. Why? Because your AM will become overloaded with hundreds of methods making it unreadable. Put the code where it should logically go instead. Methods that operate on a specific line of VO Approfondissez partner ViewRowImpl, methods that work across lines in a VO enter the ViewImpl and methods that work throughout your in the associated AppModuleImpl.

    To be honest that you never the option you choose, one thing I recommend as a best practice is to be consistent and document standard so not know your other programmers.

    BTW, it is not a question about loading a lot of libraries/imports in a class, it has no performance cost. However if your methods require a lot of class variables, then yes there will be a memory of the costs.

    On a side note, if you are interested in more ideas on how to create ADF applications properly think about joining the EMG "ADF", a forum which deals with ADF architecture, best practices (cough), deployment architectures free online and more.

    Kind regards

    CM.

  • to access the QML attached objects in C++ and best practices for the handling of the user interface in classes

    Hello

    I have in fact 2 queries

    (1) how can we access attachedobjects defined in QML in C++?

    (2) I'm loving development on Blackberry 10 C++ is one of my favorites. But I'm a bit lost when it comes to managing the user interface in classes. For example when we create the project through momentics we have a class called ApplicationUI. It manages all the (default) user interface commands, we in C++. as for example creating the document qml and setting as root user interface, etc. I am now working on an app that have NavigationPane as root, and then I continue to push pages (like the screens). But now the code for all pages is inside my ApplicationUI. What is the best practice to keep the UI for each page logic in a separte C++ class?

    I also develop for Android that a separate class for each activity, this code does not mingle for each activity. Please guide me how can I keep logic of user interface of each Page into a separate class of C++?

    regarding your second question:
    I think this is the simplest approach to keep all things in the UI in QML. You can easily put things into separate files.

    If you want to use c ++ to the user interface: can be done, too. just put it in separate classes and include those in your application class.

  • What is the best practice for the double management interfaces?

    Hello community!

    I'm upgrading to a few host ESX to ESXi 4.1U1 4.0 in the coming weeks. My question is about how to configure the management networks. Obviously in ESX 4.0 Classic I have a Service Console port (on vSwitch0) group and a group of ports VMkernel (also on vSwitch0) which provides my host with SC and vmotion capabilities, as we all know. Note: my vSwitch0 has two vmnic attached to it, is pending and is active. That's just how we have our double installation of switches, so it must be active / standby.

    I got to thinking (book the great from HA and DRS deepdive Duncap Epping and Frank Denneman), that I should consider carefully when my network mangement I improve these hosts to ESXi 4.1 - which of course done away with the Service Console and use the vmkernel instead.

    The question is, in which best practices and account with my setup: I have two vmkernel ports? If so, how should I configure each for traffic management and vmotion vmkernel?

    I think it will be a good discussion to have.

    Thank you all,

    Matt

    The NIC vSwitch0 value active/active, the vswif (and future vmkernel management) team of NIC Active vmnic6 and vmnic1 ensures and leaves the vMotion vmkernel NIC team as is.

    This will allow you to use two physical network interface cards at the same time while having a failover plan and keep your physically separate management and vMotion traffic.

    In the end:

    vSwitch: vmnic1 vmnic6 active, active.

    VMK (Mgt): active eve of vmnic1 vmnic6.

    VMK (vMotion): active standby, vmnic6 vmnic1.

  • OPS Java Package Conventions and best practices

    What is the naming convention and packages for creating entity, Module of Application, View object, LOV etc. ?

    It has been noticed that some packages and Java classes are created in packages such as xxcat.oracle.apps.fnd.server, xxcat.oracle.apps.fnd.lov,

    xxcat. Oracle.apps.FND.WebUI etc.

    Would like to have a preview or documentation refers to this.

    Concerning

    aJohny
    2598orcl

    AnilA

    Hello

    Lines copied to the OFA Dev Guide.

    Note: For customers, see extension OA Framework Applications for recommended package structure and the naming conventions for custom logic. Package names are used to group the individual XML UI files and Java classes/interfaces. The company standard Oracle on package names requires that they begin with a lowercase letter and use initial letters instead of underscore characters for each the following words in the name (for example: oracle.apps.fnd.wf.statusMonitor). At the highest level, all of the Oracle E-Business Suite code goes in the oracle.apps package. You may create your code under the following limited packages: y oracle.apps.fnd.framework y oracle.jrad y oracle.mds y oracle.jbo y oracle.cabo y oracle.jdbc see the package / tree Source section below for instructions of additional package definition control. CAUTION: Do not confuse the Java package (tree) with the Package of components of OA, a special XML that can contain several, related OA components. Naming standards for OA components Package names are provided below.

    Please see guide dev OAF.

    OA Framework standard files (naming, package Structure and content Standard)

    See also.

    OAF in SSPatil: Naming Convention in OFA

    https://imdjkoch.WordPress.com/2013/06/19/naming-standards-of-commonly-used-OAF-components/

    Integration of Applications with the Oracle Applications (Doc ID 176852.1)

    BR, FLS

  • Best practices for designing a view in PlayBook

    Hello world

    I'm new to BlackBerry PlayBook development and I would like to know how to make a user interface appropriate for playbook, what would be the best practice to do and it will be helpful to me if someone can post sample code here

    Thanks in advance

    A few tips:

    * Views extend Sprite

    * Views should be resizable, IE have a setSize() method

    * views should 'PIN' children at some edges of the screen, from when they are resized it runs correctly.

    * a parent class must listen to the scene for Event.RESIZE and call of resizing on the view.

    * Use the component of QNX, set if possible

    * Implement native controls, like sliding down to the options

  • Place pictures (screenshots) to legends - best practices?

    Illustrator CS6, Windows 7

    I am placing screenshots (screenshots of the software) in the files of my work to add captions and create illustrations for a user manual.

    The machine I'm capture has a screen resolution at 1920 x 1080 (required for software). I am using Snagit and capture screens, saving files, then place in Illustrator. I am using minimum 300 dpi and never upsizing images in Illustrator. I still think that my results could not be better.

    In the past, I used .jpg as my export filetype for placement in Illustrator. But these recent readings of messages in this community lead me to believe that my practice might be defective.

    Question: What is considered best practice to place the screenshot images (or any source) in Illustrator? What kind of capture file will get the results of the lighter and more adaptable?

    My color mode of Illustrator file is CMYK and my other art and legends supporting the perforated Cap work very well.

    I am creating the work for import into Framemaker and create a PDF file for print and online.

    I want to say is; What is the user looking at, and what you are training on?

    For example, if the application includes part of your documents and medical imaging covers something like the assessment of medical images in the application, it would probably be a scenario much more color-critical application in which the user just displays and manipulates the data.

    Generally, you don't need something like 300 PPI for screen captures in documentation of the software. The whole intention is to the image of resemble the screen you document, which is something like 72 or 96 DPI at full size. You can reduce a screenshot as much less 50%, but at this size, the drive shows the text of the application (including the menus, etc.) to half of such size as displayed in the app, which is supposed to be sized for comfortable reading. The sharpness is good. You don't want the images to fade in the pursuit of pointless "resolution."

    Also in General, screenshots of the software are not usually colour-critical. Implementation (same sticky of SnagIt) directly in the page layout application is usually very good. PostScript knows how to separate RGB images. These things have been done for a long time before anyone who sweated blood on "color management." Assuming that the interface of your application uses Garish colors (which would be the poor interface design; it's tiring), I dare say that the conversion of RGB to CMYK screenshots to the imagesetter or press would be nice.

    How to print manual? Unless you're talking about a large prints of the press, today the software (subject to frequent updates) documentation is often printed on presses on demand (think glorified digital color, photocopiers) presses not leaves. With the documentation of the software, you're talking about aren't usually the collection of coffee table books. (The exception would be something like a book on the color in Photoshop correction; so my first question.)

    I always paste screenshots of SnagIt directly into InDesign pages to document software applications and add captions in InDesign. Only when I need some special graphics (plunging arrows, etc.) Assemble the captions for the screenshots in Illustrator; and even when I do that I have usually also paste the SnagIt capture directly to HAVE.

    Keep your native legends for better page layout program facilitates language translation, when you need to outsource that.

    JET

  • Dell MD3620i connect to vmware - best practices

    Hello community,

    I bought a Dell MD3620i with 2 x ports Ethernet 10Gbase-T on each controller (2 x controllers).
    My vmware environment consists of 2 x ESXi hosts (each with 2ports x 1Gbase-T) and a HP Lefthand (also 1Gbase-T) storage. The switches I have are the Cisco3750 who have only 1Gbase-T Ethernet.
    I'll replace this HP storage with DELL storage.
    As I have never worked with stores of DELL, I need your help in answering my questions:

    1. What is the best practices to connect to vmware at the Dell MD3620i hosts?
    2. What is the process to create a LUN?
    3. can I create more LUNS on a single disk group? or is the best practice to create a LUN on a group?
    4. how to configure iSCSI 10GBase-T working on the 1 Gbit/s switch ports?
    5 is the best practice to connect the Dell MD3620i directly to vmware without switch hosts?
    6. the old iscsi on HP storage is in another network, I can do vmotion to move all the VMS in an iSCSI network to another, and then change the IP addresses iSCSI on vmware virtual machines uninterrupted hosts?
    7. can I combine the two iSCSI ports to an interface of 2 Gbps to conenct to the switch? I use two switches, so I want to connect each controller to each switch limit their interfaces to 2 Gbps. My Question is, would be controller switched to another controller if the Ethernet link is located on the switch? (in which case a single reboot switch)

    Tahnks in advanse!

    Basics of TCP/IP: a computer cannot connect to 2 different networks (isolated) (e.g. 2 directly attached the cables between the server and an iSCSI port SAN) who share the same subnet.

    The corruption of data is very likely if you share the same vlan for iSCSI, however, performance and overall reliability would be affected.

    With a MD3620i, here are some configuration scenarios using the factory default subnets (and for DAS configurations I have added 4 additional subnets):

    Single switch (not recommended because the switch becomes your single point of failure):

    Controller 0:

    iSCSI port 0: 192.168.130.101

    iSCSI port 1: 192.168.131.101

    iSCSI port 2: 192.168.132.101

    iSCSI port 4: 192.168.133.101

    Controller 1:

    iSCSI port 0: 192.168.130.102

    iSCSI port 1: 192.168.131.102

    iSCSI port 2: 192.168.132.102

    iSCSI port 4: 192.168.133.102

    Server 1:

    iSCSI NIC 0: 192.168.130.110

    iSCSI NIC 1: 192.168.131.110

    iSCSI NIC 2: 192.168.132.110

    iSCSI NIC 3: 192.168.133.110

    Server 2:

    All ports plug 1 switch (obviously).

    If you only want to use the 2 NICs for iSCSI, have new server 1 Server subnet 130 and 131 and the use of the server 2 132 and 133, 3 then uses 130 and 131. This distributes the load of the e/s between the ports of iSCSI on the SAN.

    Two switches (a VLAN for all iSCSI ports on this switch if):

    NOTE: Do NOT link switches together. This avoids problems that occur on a switch does not affect the other switch.

    Controller 0:

    iSCSI port 0: 192.168.130.101-> for switch 1

    iSCSI port 1: 192.168.131.101-> to switch 2

    iSCSI port 2: 192.168.132.101-> for switch 1

    iSCSI port 4: 192.168.133.101-> to switch 2

    Controller 1:

    iSCSI port 0: 192.168.130.102-> for switch 1

    iSCSI port 1: 192.168.131.102-> to switch 2

    iSCSI port 2: 192.168.132.102-> for switch 1

    iSCSI port 4: 192.168.133.102-> to switch 2

    Server 1:

    iSCSI NIC 0: 192.168.130.110-> for switch 1

    iSCSI NIC 1: 192.168.131.110-> to switch 2

    iSCSI NIC 2: 192.168.132.110-> for switch 1

    iSCSI NIC 3: 192.168.133.110-> to switch 2

    Server 2:

    Same note on the use of only 2 cards per server for iSCSI. In this configuration each server will always use two switches so that a failure of the switch should not take down your server iSCSI connectivity.

    Quad switches (or 2 VLAN on each of the 2 switches above):

    iSCSI port 0: 192.168.130.101-> for switch 1

    iSCSI port 1: 192.168.131.101-> to switch 2

    iSCSI port 2: 192.168.132.101-> switch 3

    iSCSI port 4: 192.168.133.101-> at 4 switch

    Controller 1:

    iSCSI port 0: 192.168.130.102-> for switch 1

    iSCSI port 1: 192.168.131.102-> to switch 2

    iSCSI port 2: 192.168.132.102-> switch 3

    iSCSI port 4: 192.168.133.102-> at 4 switch

    Server 1:

    iSCSI NIC 0: 192.168.130.110-> for switch 1

    iSCSI NIC 1: 192.168.131.110-> to switch 2

    iSCSI NIC 2: 192.168.132.110-> switch 3

    iSCSI NIC 3: 192.168.133.110-> at 4 switch

    Server 2:

    In this case using 2 NICs per server is the first server uses the first 2 switches and the second server uses the second series of switches.

    Join directly:

    iSCSI port 0: 192.168.130.101-> server iSCSI NIC 1 (on an example of 192.168.130.110 IP)

    iSCSI port 1: 192.168.131.101-> server iSCSI NIC 2 (on an example of 192.168.131.110 IP)

    iSCSI port 2: 192.168.132.101-> server iSCSI NIC 3 (on an example of 192.168.132.110 IP)

    iSCSI port 4: 192.168.133.101-> server iSCSI NIC 4 (on an example of 192.168.133.110 IP)

    Controller 1:

    iSCSI port 0: 192.168.134.102-> server iSCSI NIC 5 (on an example of 192.168.134.110 IP)

    iSCSI port 1: 192.168.135.102-> server iSCSI NIC 6 (on an example of 192.168.135.110 IP)

    iSCSI port 2: 192.168.136.102-> server iSCSI NIC 7 (on an example of 192.168.136.110 IP)

    iSCSI port 4: 192.168.137.102-> server iSCSI NIC 8 (on an example of 192.168.137.110 IP)

    I left just 4 subnets controller 1 on the '102' IPs for more easy changing future.

  • Connecting two 6224 separate batteries best practices LAG?

    Hello

    I wonder how I should configure LAG between two powerconnect 6224 batteries (2 x powerconnect 6224 by battery) for iSCSI against 4 members EQL traffic, I intend to use the 4 ports of each stack (stack cross-possible LAG on 6224?) and equallogic documentation leaves me in two minds when it wants to run LACP or not?

    I wonder what reviewed best practices in this scenario?

    Cross-stack, LACP and no PLEASE or am I better of without LACP?

    Thanks in advance

    Cree

    The ports connecting the two piles together will be configured differently than the ports of connection of the battery to the EQL appliance. During the connection of the control unit switch EQL is when you might want to disable STP on that specific port.

    «Do not use of Spanning Tree (STP) on switch ports that connect to the terminal nodes (iSCSI initiators or storage array network interfaces).» However, if you want to use STP or Rapid STP (preferable to STP), you must enable port settings available on some switches that allow the port immediately transition to PLEASE State reference to link up. This feature can reduce network interruptions that occur when devices to restart, and should only be enabled on switch ports that connect the nodes. "

    With the network cards on the EQL devices according to me, there is only one active port, and the other is pending. So on the switch ports that are plug on the EQL will be in access mode for your iSCSI VLANS. Maybe someone more about EQL can chime to confirm.

    Here are some good white pages.

    www.dell.com/.../Dell_EqualLogic_%20iSCSI_Optimization_for_Dell_Power_onnect_%20Switches.pdf

    docs.danielkassner.com/.../ISCSI_optimization_EQL.pdf

    www.Dell.com/.../EQL-8024f-4-Switch.pdf

  • Best practices with streams WCCP of WAAS

    Hello

    I have a module WAAS SRE 910 in 2911 router that intercepts packets this router with WCCP.

    All packets are received by the external interface (gi 0/2, connected to a switch with port configured in vlan WCCP) and are sent back to the router via the internal interface (IG 1/0 connected directly to the router):

    WAAS # sh interface IG 1/0

    Internet address: 10.0.1.1

    Subnet mask: 255.255.255.0

    State of the admin: to the top

    Operating status: running

    Maximum transfer unit size: 1500

    Entry errors: 0

    Entry packets dropped: 0

    Packets received: 20631

    Output errors: 0

    Output packets dropped: 0

    Load interval: 30

    Input rate: 239 bps, 0 packets/s

    Output: 3270892 bps, 592 packets/s

    Packets sent: 110062

    Auto-negotiation: on

    Full Duplex: Yes

    Speed: 1000 Mbit/s

    WAAS # sh interface 2/0 gi

    Internet address: 10.0.2.1

    Subnet mask: 255.255.255.0

    State of the admin: to the top

    Operating status: running

    Maximum transfer unit size: 1500

    Entry errors: 0

    Entry packets dropped: 0

    Packets received: 86558

    Output errors: 0

    Output packets dropped: 0

    Load interval: 30

    Input rate: 2519130 bps, 579 packets/s

    Output rate: 3431 bps, 2 packets/sec

    Packets sent: 1580

    Auto-negotiation: on

    Full Duplex: Yes

    Speed: 100 Mbps

    The default route configured in module WAAS is 0.0.0.0/0 to 10.0.1.254 (interface of the router).

    It would be better that the packets leave module WAAS of the external interface (instead of the internal interface)?

    Is there a best practice recommended by Cisco on this?

    Thank you.

    Stéphane

    Hi Stephane,

    That's right, internal interface means SM1/0.

    The best way is to have traffic at the start of the internal interface module so that we are sure, it hits the redirect exclude statement and that we do not have the crest of the loops because WCCP.

    Kind regards

    Nicolas

  • Best practices storage or advice

    I try to develop a Java of BB application, currently appearing on local storage. The app will be for public use.

    Someone has advice on when it is best to use the SD vs the persistent store? Is there a good best practices or document advice out there somewhere?

    This application will have two types of data: preferences and what would be the data files on a desktop system.

    I read on using the persistent store, and it seems to be a good option because of the level of control over the data for synchronization and such. But I noticed that some OSS BB applications use the SD card, not the persistent store.

    If I'm going to deploy the application to the general public, I know that I'm working with many configurations as well as with the limits set by the policy of the company (assuming that these users can even install the app). So any advice on navigating these issues regarding the storage would be greatly appreciated.

    Thank you!

    The persistent store is fine for most cases.

    If the transient data is very large, or must be copied to the device via the USB cable, then maybe the SD card should be considered.

    However, many / most of the people do not have an SD card.

  • common components of jar, naming, best practices

    11.1.2.1 forms

    I added a few components of pot. For example, Directprint.jar

    As they have dependencies on other common components, you must download and add in the formsweb.cfg

    For example, Directprint must fontbox, pdfbox and commons-logging

    This components are alive, so change their versions.

    Well, now I have java in 1.6-1.8 guests, so I used it to upgrade some components of the jar.

    For example from pdfbox - 1.8.6.jar to pdfbox - 1.8.11.jar

    The question is: what is the best practice? The version of the name of band (rename just pdfbox.jar) so I don't have to change formsweb.cfg or preserve the name and line archive file formsweb.cfg?

    If you rename the file... you have to do before everything that manifests properties adding and signing a hassle?

    I guess it's a matter of taste and requirement. Personally I don't like the version numbers in the file names, because ultimately I don't like what version I am running a certain file... as long at it works. I certainly do not want to change the file name in each config file I do and do not remember to add it.

    However; If you want to be able to move forward and backward between the versions I guess it's easier to have a version number in the file name. If you encounter a no - Go in the current version just swap the file name in the configuration files. Of course, if you implement version control, you can update to revision until the problem is introduced, generating the .jar file from scratch and redeployed. If you don't have version control, you can only hope that you have a backup of your file.

    By simply adding a version number in the file name, you will need to update the formsweb.cfg whenever you add a new version of your jar file. By not doing this you will not have to do.

    Both have their advantages and disadvantages, you will have to decide for yourself what best suits your needs.

    If you rename the file... you have to do before everything that manifests properties adding and signing a hassle?

    Yes. The manifest must not care about the file name, but the process of signing only.

    see you soon

Maybe you are looking for

  • With v 18.0.1 I can't download using amazon s3 organizer

    I use Organizer from amazon s3 to handle large files. Since the upgrade to v 18.0.1 I can't download a file. Same file that I had already downloaded earlier. Same thing on my wife with XP machine. It works OK on my laptop with v 17.0.1.Here is the me

  • How do you delete photos from an iPhone but keep them on a mac

    I want to delete some photos from my iPhone 6 but keep them on my MacBook - how can I do this?

  • attack targets different rt by changing IP in the host program

    Hello I have two targets of RT running on desktop computers. Programmatically, I would like to change the IP address target in a single host program, so that I can control one or the other targets. I thought the 'Library Library.Deploy' Invoke node h

  • Several questions to Xperia Z3

    Hello Recently I bought the z3 Xperia but facing many questions. Can anyone help. 1 battery draining fast. A few minutes of charging to 100%, it reduces of 95% and lower. tried several solutions for energy consumption and uninstalled facebook, messen

  • Issue of SystemListener

    In my application, UiApplication i have implemented SystemListener and don't have any other point of entry. If I left my app app still receives such powerOff() and powerOn() notifications? How do I get this to work as the earpiece of the phone that w