Java Bin-packing problem

Hi all,
I have a evolutionary algorithm that I want to try and solve, but it's hard getting started and knowing where to start exactly. Here is the description below, it would be great if anyone could give me a few tips on how to go about it:
"The bin-packing problem involves 'n' items, each with its own weight (there are 500 items in fact, and the weight of each is 4 times its item number).
Each item must be placed in one of 'b' bins (there are 10 bins). The task is to find a way of placing the items into the bins in such a way as to make the total weight in each bin as equal as possible.
A chromosome (solution to the problem) is represented as a list of 'n' numbers (500 numbers), where each number can be anything in the range from 1 to b.
Basically, if the 1st number in the chromosome is 4, then this means item number 1 is in bin 4. "
I obviously don't expect anyone to give me code to this, but it would be a great help if someone could assist me in how to get going (i.e. what classes to have and what variables they would take).
thanks

Ok then, thanks for that. This is how I picture it so far, a possible way of doing this:
You would have an Item array, of 500 items, each with their own number (1-500) and each with their own weight (4 * their item number).
Then there would be a Chromosome array, which would be an array of Items (500 of them). Each of these would be put into a random bin (from 1 - 10), and calculations would be made so that the bins' weights would be cumulative.
Then there is a Population array, which is an array of random Chromosomes, that would all have their own fitness function worked out (in this case, fitness function is equal to the heaviest bin - the lightest bin).
What does everyone think? Please correct me if this is not on the right lines. As I said, i'm a java n00b.
thanks

Similar Messages

  • Bin Packing Problem

    Hello all,
    Can you please help me out a little bit on bin packing problem?
    I have a jpanel and i want to divide its space in order to put rectangles but having in mind that i have to take advantage of all the empty space provided by the jpanel
    thnx,
    John

    Maybe you mean 2-dimensional bin packing?
    An example bin packing problem is this:
    Jill has 42 files (of various sizes) that she needs to copy to another computer. She wants to use floppies (which hold 1.44 Mb of data). What is the minimum number of floppies required AND what combinations of files would be saved onto each of those floppies?
    As an extension, a 2d bin packing problem incorporates a notion of area into the calculation.
    (note that both problems are NP complete).
    Here is a commercial company that specializes in this (found with Google, 2d bin packing algorithm):
    http://www.astrokettle.com/

  • Optimal bin packing problem

    I have a homework assignment that I'm really stuck on. I'm not looking for code (I'm sure I could find that if I wanted, but I really want to UNDERSTAND this).
    I need to make a recursive method to find the OPTIMAL solution (least number of bins used).
    The professor basically gave us an algorithm to use, but it confuses the heck out of me. I seriously think I could do this other ways, but I don't think we are allowed.
    Here is what was given to us (I'll post my couple of questions below):
    If there are no items left, there is nothing left to pack; return the current set of bins(base case).
    For the recursive case:
    1) Make a (deep) copy of the list of items, and remove one item from it.
    2) For every bin, make a (deep copy) of the entire set of bins, and place the item in that bin. If the item fits, recursively apply the algorithm with the same number of bins, the modified list of items (the copy made above), and the copied set of bins with the item added.
    3) Do the same thing as (2) except place the item in a new (previously empty) bin in the copied set.
    4) Pick the best result from steps (2) and (3) (the one with the fewest bins) and return it.
    OK, the part I don't get is the "for every bin, make a (deep) copy of the entire set of bins". ---If the first item tested (in the first copied set of bins) fits, the algorithm is recursed.. So I don't really grasp how it would actually test the item in every other bin. I know I must be missing something here, but I've spent at least 15 hours on this and have gotten virtually nowhere on this portion of the assignment.
    This is obviously supposed to be an exhaustive search, since being an NP problem that would be the only way to attain an optimal solution. I tried coding what I thought was meant by this above pseudo-algorithm, but without testing every bin, i only ended up with a first-fit result.
    If someone could give me a bit of insight into what is meant by the line "for every bin, make a (deep) copy of the entire set of bins", and how it could possibly be applied so that the recursion doesn't just happen before the item is placed into following bins it would be greatly appreciated.
    I don't want to post any code here because I don't want it to look like another "do my homework" post, but if someone wants to see where I'm at, I can do so. Also, before anyone says I should just ask the professor or whatever, he is Chinese with a REALLY strong accent, and so are all the assistants (really...), and I can't understand a word they say. So although I'm attending all lectures, I'm still basically teaching myself. :P

    in step 4 he asks you to return the best result obtained in steps 2 or 3.
    Yes, in step 2, if it fits in the first bin you will trigger a recursion, BUT you simply remember the result of that optimal fit (counting how many bins it took) and go on to try the next slot.
    If there were N bins when you started, you wil be making potentially N recursive calls in step 2 (though you will remember the results of only one of those), you will then make one more recursive call in step 3, and you will return one single result - namely the set of bins that took the fewest total count from those N+1 trials.

  • Bin packing

    hi,
    I've got to implement a problem that is exactly the bin packing problem. Googling around found this
    http://mathworld.wolfram.com/Bin-PackingProblem.html
    which says
    An alternative strategy first orders the items from largest to >smallest, then places them sequentially in the first bin in which they >fit. In 1973, D. Johnson showed that this strategy is never suboptimal >by more than 22%, and furthermore that no efficient bin-packing >algorithm can be guaranteed to do better than 22% (Hoffman 1998, p. >172). which sounds great, but was wondering if anyone knows anything about whether genetic algorithms might be better (there are quite a few papers about this but skim reading them hasn't thrown up hard figures for performance).
    This looks good too
    http://www.aridolan.com/ga/gaa/Binpack5_19.html
    but there aren't any figures for performance either?
    just thought someone might be able to save me some serious reading time :)
    thanks,
    asjf

    no efficient bin-packing algorithm can be guaranteed to do better than 22% Right, an exaustive search will give you an optimal solution. Genetic algorithms are just a another search through a solution space.
    The site seems down right now but you may want to check out (possibly port)
    http://linpacker.tuxfamily.org/

  • ABAP + Java Support Pack installation

    When updating support packs in an ABAP+Java environment (ECC 6.0), is there any reason why one could not do the Java Support Packs first, followed by the ABAP support packs?  We are trying to update our support packs as efficiently as possible, and would like to update our java support packs first, followed by the ABAP stack a few days later.
    In regards,
    Michael

    Hi!
    There can probably not be a general answer to that question. There are some functionality where ABAP and JAVA are closely linked and where you'll most likely run into problems if the levels do not match.
    Technically there is no problem as applying the SP-Stack for Java and applying SPs for ABAP are independent (technical) tasks, but you will have to VERY carefully check the dependencies and carefully test this in a QA-environment.
    If you want my advice: Try to find a 'big shot' solution where you do all in one move.
    Regards,
    Jörg

  • Need Help with Java XML Pack

    I Downloaded the JavaXMLPack-summer-02_01 and am a little unsure about configuration and use...
    The documentation says:"
    To use the Java XML Pack technologies, you need to set the home directory for each technology as follows:
    JAVA_XML_PACK_HOME to the directory where the java xml pack has been installed.
    JAXM_HOME to <JAVA_XML_PACK_INSTALL>/java_xml_pack-summer-02_01/jaxm-1.1_01
    JAXP_HOME to <JAVA_XML_PACK_INSTALL>/java_xml_pack-summer-02_01/jaxp-1.2_01
    JAXR_HOME to <JAVA_XML_PACK_INSTALL>/java_xml_pack-ummer-02_01/jaxr-1.0_02
    JAXRPC_HOME to <JAVA_XML_PACK_INSTALL>/java_xml_pack-ummer-02_01/jaxrpc-1.0_01
    but nothing about where to set this...
    I tried to set those as environment variables- s�that right???
    Next thing:
    When I want to use the JAXM Libraries I have to set the .JAR Files as Classpath - Seems strage to me...
    And now the Problem:
    I compiled the StandeAlone.java Sample from "/jaxm-1.1_01/samples/standalone"
    And when I start the class File I get the Error message
    java.lang.NoClassDefFoundError: javax/xml/soap/SOAPBody
         at DataExchange.<init>(EOS.java:67)
         at EOS.init(EOS.java:14)
         at sun.applet.AppletPanel.run(AppletPanel.java:341)
         at java.lang.Thread.run(Thread.java:536)

    I have been having similar problems. I have set the variables you mentioned in my .bashrc file and set the classpath variable to include them. However the compiler still can't find them and I get a slew of NoClassDefFoundError exceptions when trying to compile code which uses the xml stuff.
    The strange thing is that the classpath variable was empty before I added the java xml stuff to it so I don't know how it finds the core java classes. It gets this information from somewhere and if I could find out where this is then I could add the xml stuff to it and everything will be fine.
    Any ideas on where java is getting the location of the core classes from?

  • Sir i am using datasocket read ,i am communicating with java but my problem is that bcz im using while loop to see if value has changed my labview consumes all the processors time ,sir i want a event like thing so that while loop is not in continuous loop

    sir i have given lot of effort but i am not able to solve my problem either with notifiers or with occurence fn,probably i do not know how to use these synchronisation tools.

    sir i am using datasocket read ,i am communicating with java but my problem is that bcz im using while loop to see if value has changed my labview consumes all the processors time ,sir i want a event like thing so that while loop is not in continuous loopHi Sam,
    I want to pass along a couple of tips that will get you more and better response on this list.
    1) There is an un-written rule that says more "stars" is better than just one star. Giving a one star rating will probably eliminate that responder from individuals that are willing to anser your question.
    2) If someone gives you an answer that meets your needs, reply to that answer and say that it worked.
    3) If someone suggests that you look at an example, DO IT! LV comes with a wonderful set of examples that demonstate almost all of the core functionality of LV. Familiarity with all of the LV examples will get you through about 80% of the Certified LabVIEW Developer exam.
    4) If you have a question first search the examples for something tha
    t may help you. If you can not find an example that is exactly what you want, find one that is close and post a question along the lines of "I want to do something similar to example X, how can I modify it to do Y".
    5) Some of the greatest LabVIEW minds offer there services and advice for free on this exchange. If you treat them good, they can get you through almost every challenge that can be encountered in LV.
    6) If English is not your native language, post your question in the language you favor. There is probably someone around that can help. "We're big, we're bad, we're international!"
    Trying to help,
    Welcome to the forum!
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Re   Java Stored Procedure Problem

    Ben
    There appear to be some problem with the forum. It doesn't want to show my response to your post with the subject "Java Stored Procedure Problem". See the answer to this thread for an example of how to do this...
    Is there a SAX parser with PL/SQL??

    Ben
    There appear to be some problem with the forum. It doesn't want to show my response to your post with the subject "Java Stored Procedure Problem". See the answer to this thread for an example of how to do this...
    Is there a SAX parser with PL/SQL??

  • "How to Resolve ORA-29532 Java 2 Permission Problems in RDBMS 8.1.6 and 8.1.7"

    I'm in the process of publishing the following note (134280.1), titled "How to Resolve ORA-29532 Java 2
    Permission Problems in RDBMS 8.1.6 and 8.1.7".
    It will be accessible from Oracle Support's "Metalink" site.
    "How to Resolve ORA-29532 Java 2 Permission Problems in RDBMS 8.1.6 and 8.1.7".
    Problem Description
    Periodically an application running in the Enterprise Java Engine
    (EJE) formerly known as the "Oracle 8i JVM", "the JSERVER component", or
    the "Aurora JVM" will fail with a "java 2" permissions error having the
    following format :
    Note : Message shown below have been reformatted for easier readability.
    java.sql.SQLException: ORA-29532: Java call terminated by uncaught Java exception:
    usually followed by a detailed error message similar to one of the following
    messages :
    Example # 1
    java.security.AccessControlException: the Permission
    (java.net.SocketPermission hostname resolve)
    has not been granted by dbms_java.grant_permission to
    SchemaProtectionDomain(SCOTT|PolicyTableProxy(SCOTT))
    Example # 2
    java.security.AccessControlException: the Permission
    (java.util.PropertyPermission * read,write)
    has not been granted by dbms_java.grant_permission to
    SchemaProtectionDomain(SCOTT|PolicyTableProxy(SCOTT))
    Example # 3
    java.security.AccessControlException: the Permission
    (java.io.FilePermission \matt1.gif read)
    has not been granted by dbms_java.grant_permission to
    SchemaProtectionDomain(SCOTT|PolicyTableProxy(SCOTT))
    Explanation
    The java 2 permission stated in line # 2 of each of the above "Examples"
    has not been granted to the user specified in line 4 of the above "Examples".
    Solution Description
    The methodology to solve this issue is identical for all java 2 permissions
    cases.
    1) Format a call "dbms_java.grant_permission" procedure as described below.
    2) Logon as SYS or SYSTEM
    3) Issue the TWO commands shown below
    4) Logoff as SYS or SYSTEM
    5) Retry your application
    For Example # 1
    1) Logon as SYS or SYSTEM
    2) Issue the following commands :
    a) call dbms_java.grant_permission('SCOTT',
    'java.net.SocketPermission',
    'hostname',
    'resolve');
    b) commit;
    Note: Commit is mandatory !!
    3) Logoff as SYS or SYSTEM
    4) Retry your application
    For Example # 2
    1) Logon as SYS or SYSTEM
    2) Issue the following commands :
    a) call dbms_java.grant_permission('SCOTT',
    'java.util.PropertyPermission',
    'read,write');
    b) commit;
    Note: Commit is mandatory !!
    3) Logoff as SYS or SYSTEM
    4) Retry your application
    For Example # 3
    1) Logon as SYS or SYSTEM
    2) Issue the following commands :
    a) call dbms_java.grant_permission('SCOTT',
    'java.io.FilePermission',
    '\matt1.gif',
    'read');
    b) commit;
    Note: Commit is mandatory !!
    3) Logoff as SYS or SYSTEM
    4) Retry your application
    References
    For more details on java 2 permissions and security within the EJE, review
    Chapter 5, in the Java Developer's Guide. entitled,
    "Security For Oracle8i Java Applications"
    The RDBMS 8.1.7 version can be found at :
    http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/java.817/index.htm

    Hi, Don,
    I solved the problem of security exception I mentioned at java procedure topic as following:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.SecurityException
    I tried to use your solution as following:
    call dbms_java.grant_permission('SDE', 'java.net.SocketPermission', 'ORCL.COHPA.UCF.EDU','resolve');
    but SQL*plus gave me a error message:
    invalid collumn.
    What's the problem?
    However, I call a grant command as following:
    SQL> grant JAVASYSPRIV to sde;
    and then that exception is gone. What's the difference between dbms_java.grant_permission and grant command?
    Thanks
    Bing
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by don -- oracle support:
    I'm in the process of publishing the following note (134280.1), titled "How to Resolve ORA-29532 Java 2
    Permission Problems in RDBMS 8.1.6 and 8.1.7".
    It will be accessible from Oracle Support's "Metalink" site.
    "How to Resolve ORA-29532 Java 2 Permission Problems in RDBMS 8.1.6 and 8.1.7".
    Problem Description
    <HR></BLOCKQUOTE>
    null

  • Error running command: /usr/java/bin/java: error execing process: Not enoug

    Error running command: /usr/java/bin/java: error execing process: Not enough space
    In a whole root zfs zone the webconsole service fails to start. This is what I get:
    svc:/system/webconsole:console (java web console)
    State: maintenance since Fri Aug 27 14:32:41 2010
    Reason: Start method exited with $SMF_EXIT_ERR_FATAL.
    See: http://sun.com/msg/SMF-8000-KS
    See: man -M /usr/share/man -s 1M smcwebserver
    See: /var/svc/log/system-webconsole:console.log
    Impact: This service is not running.
    # more /var/svc/log/system-webconsole:console.log
    ^C# more /var/svc/log/system-webconsole:console.log
    [ Aug  6 09:30:40 Disabled. ]
    [ Aug  6 09:30:40 Rereading configuration. ] [ Aug  6 09:30:52 Enabled. ] [ Aug  6 11:32:50 Enabled. ] [ Aug  6 11:33:02 Executing start method ("/lib/svc/method/svc-webconsole start"
    Starting Sun Java(TM) Web Console Version 3.1 ...
    The console is running.
    [ Aug  6 11:33:25 Method "start" exited with status 0 ] [ Aug 27 14:32:15 Enabled. ] [ Aug 27 14:32:28 Executing start method ("/lib/svc/method/svc-webconsole start"
    Error running command: /usr/java/bin/java: error execing process: Not enough spa ce [ Aug 27 14:32:41 Method "start" exited with status 95 ] # df -k
    Filesystem kbytes used avail capacity Mounted on
    / 0 4341506 3761710 54% /
    /dev 8103216 4341506 3761710 54% /dev
    proc 0 0 0 0% /proc
    ctfs 0 0 0 0% /system/contract
    mnttab 0 0 0 0% /etc/mnttab
    objfs 0 0 0 0% /system/object
    swap 2498344 360 2497984 1% /etc/svc/volatile
    /platform/SUNW,T5240/lib/libc_psr/libc_psr_hwcap2.so.1
    8103216 4341506 3761710 54% /platform/sun4v/lib/libc_psr.so.1
    /platform/SUNW,T5240/lib/sparcv9/libc_psr/libc_psr_hwcap2.so.1
    8103216 4341506 3761710 54% /platform/sun4v/lib/sparcv9/libc_psr.so.1
    fd 0 0 0 0% /dev/fd
    swap 2497984 0 2497984 0% /tmp
    swap 2498024 40 2497984 1% /var/run
    Grp-MFNY/billables/RV
    20514816 22 3761710 1% /RV
    Grp-MFNY/billables/TT_DB
    20514816 28 3761710 1% /TT_DB
    Grp-MFNY/billables/tab

    You need to find the java exceptions - most likely in the logs in the /var/log/webconsole/console directory.
    A wild guess is you don't have enough swap space to perform a fork.
    -- Ken

  • Bin Packing algorithum

    Hello Friends,
    Please help me out ..
    I want to generate the code like bin packing algorithm in pl sql ..
    So is there any utility or algorithm exits in oracle that is similar to bin packaging algorithm...
    Thanks

    As Hoek mentioned, there is no built in utility for bin packing in Oracle, because there is no generic rule for it.  All it depends upon different business rule and approaches.  If you write the question in PL/SQL forum by providing Oracle Version, Create Table and insert statement, Logic behind required output in simple English language; then I am sure you can also get the answer as I https://forums.oracle.com/thread/2612134
    Regards
    Girish Sharma

  • Java Performance Pack

    What is Java Performance Pack?
    Where can I download it?

    http://java.sun.com/products/java-media/jmf/2.1.1/setup.html

  • Unable to Deploy Java Support Packs :(

    I have an XI System Running on DB2 UDB (NW2004S), and it has ABAP and Java, and the Kernal patch was 83, so I upgraded to 102, and then ABAP Support packs were completed, but when i was trying to Deploy Java Support packs it gave me an error that its unable 2 restart the Cluster in Safe mode, so when i again tried loggin on to JSPM, SDM was stopped, and it asked me to restart and login to JSPM, and im trying to start SDM, and its trying for more than 300 Seconds and erroring out , so I tried launching  the Config tool, and its unable 2 connect to DB , and it says Password Expired, how do i go about Fixing this Issue????? But i remember when i was trying to bring up SAP, Schema password SAPSID was expired and application was unable 2 talk to Database, so i reset the password and updated it /sapmnt/SID/exe/global/dscdb6.confg file,Do we have any place where we need to update in JAVA as well.. im not aware of it ..
    Regards,
    Ershad Ahmed.

    Hi Ahmed,
    yes, usually there is also a Java schema which is different to the ABAP schema. The default name is sap<sid>db (all lower case - but it should not be case sensitive). You may find out the schema when you query for number of tables per schema beginning with sap: SELECT tabschema, count(*) FROM syscat.tables WHERE tabschema LIKE 'SAP%'
    Regards
    Ralph Ganszky

  • War packing problems

    Hi, everyone. I've got a problem with packing my application into a war file.
    I am running on the Java System Application Server 9.1_01 and use the Java EE 5 SDK.
    There is no problem with the deployment descriptors nor with the folder structure.
    When deploying my application packed with netBeans, everything's fine.
    But when i try to pack it manually and deploy it using the admin console, the server throws an internal error.
    So, I assume that the problem is with packing.
    I am using the following command when packing:
    jdkroot\bin> jar cvf warname.war d:\applicationFolder
    1) How to pack it correctly?
    2) Should all the classes in the classes dir be compiled before packing? (I assume yes).
    Can anyone help?
    Thank you.

    Here's the error taken from the server log.
    [#|2008-01-25T10:56:45.859+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=14;_ThreadName=Thread-25;_RequestID=f4385037-85ec-4f85-9c5c-b3a0aa8b5323;|Could not expand entry d:\webapplication4\build.xml into destination D:\JavaEE5SDK\domains\domain1\applications\j2ee-modules\netwar
    java.io.IOException: Error expanding archive C:\Documents and Settings\Administrator\Local Settings\Temp\netwar50885.war; please see the server log file for more information
         at com.sun.enterprise.deployment.backend.J2EEModuleExploder.explodeJar(J2EEModuleExploder.java:359)
         at com.sun.enterprise.deployment.backend.WebModuleDeployer.preDeploy(WebModuleDeployer.java:131)
         at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:171)
         at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:191)
         at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:279)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:788)
         at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)
         at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:223)
    Caused by: java.io.IOException
         at com.sun.enterprise.util.io.FileUtils.openFileOutputStream(FileUtils.java:750)
         at com.sun.enterprise.deployment.backend.J2EEModuleExploder.explodeJar(J2EEModuleExploder.java:331)
         ... 9 more
    Caused by: java.io.FileNotFoundException: D:\JavaEE5SDK\domains\domain1\applications\j2ee-modules\netwar\d:\webapplication4\build.xml (The filename, directory name, or volume label syntax is incorrect)
         at java.io.FileOutputStream.open(Native Method)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
         at com.sun.enterprise.util.io.FileUtils$FileOutputStreamWork.run(FileUtils.java:1613)
         at com.sun.enterprise.util.io.FileUtils.doWithRetry(FileUtils.java:788)
         at com.sun.enterprise.util.io.FileUtils.openFileOutputStream(FileUtils.java:743)
         ... 10 more
    |#]
    [#|2008-01-25T10:56:45.906+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=14;_ThreadName=Thread-25;_RequestID=f4385037-85ec-4f85-9c5c-b3a0aa8b5323;|Exception occured in J2EEC Phase
    com.sun.enterprise.deployment.backend.IASDeploymentException: Error expanding archive C:\Documents and Settings\Administrator\Local Settings\Temp\netwar50885.war; please see the server log file for more information
         at com.sun.enterprise.deployment.backend.J2EEModuleExploder.explodeJar(J2EEModuleExploder.java:359)
         at com.sun.enterprise.deployment.backend.WebModuleDeployer.preDeploy(WebModuleDeployer.java:131)
         at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:171)
         at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:191)
         at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:279)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:788)
         at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)
         at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:223)

  • Java Webstart application problem with TLS certificate revocation checks (Java 1.7.0_76)

    We have a problem with our Java Web Start Application regarding the TLS certificate revocation check:
    The application is running on a server within a wide area network which is separated from the internet.
    The application users have access to the WAN, and also access to the internet over some corporate proxy/firewall.
    The user has to enter, for example "https://my-site.de/myapp/ma.jnlp" within a webbrowser or could also call  "javaws https://my-site.de/myapp/ma.jnlp" to start the application client.
    The webserver has a certificate from a trusted certificate authority. This certificate seems to be ok, the browser is even configured to perform OCSP status check.
    The application files are signed with a certificate from another trusted certificate authority. This certificate seems also to be ok. Regarding this certificate there
    are no problems with certificate revocation checks.
    The problem is, while starting the application client there is a message box which tell us something like "the connection to this website ist not trustworthy",
    "Website: https://my-site.de:80", and something about an invalid certificate, meaning the webserver certificate.
    Obviously the jvm runtime, which is executed on the users workstation, tries to perform a revocation check for the webservers certificate, but this fails because
    it cannot fetch the certificate under https://my-site.de:80.
    The application will execute without further problems after that message but the users are very concerned about the "invalid" certificate, so here are my questions:
    - Why is the application trying to get the webserver certificate over Port 80. Our application developers told me, there is no corresponding statement. Calling this address
      has to fail while "https://my-site.de:443" or "https://my-site.de" would not have a problem.
    - Is there a way to make the application go on without performing a tls revocation check? I mean, by adjusting the application sourcecode and not by configuring the users Java Control Panel.
      While disabling the TLS Certificate Revocation check in the Java Control Panel, the Webstart Application executes without a warning message, but this is not a workable solution for
      our users.
    It would be great if someone can help me with a hint so i can send our developers into the right direction;-)
    Many thanks!
    This is a part from a java console output after calling "javaws -verbose https://my-site.de/myapp/"
    (sorry for this is in german... and also my english above)
    network: Verbindung von http://ocsp.serverpass.telesec.de/ocspr mit Proxy=HTTP @ internet-proxy.***:80 wird hergestellt
    network: Verbindung von http://ocsp.serverpass.telesec.de/ocspr mit Proxy=HTTP @ internet-proxy.***:80 wird hergestellt
    security: OCSP Response: GOOD
    network: Verbindung von http://ocsp.serverpass.telesec.de/ocspr mit Proxy=HTTP @ internet-proxy.***:80 wird hergestellt
    security: UNAUTHORIZED
    security: Failing over to CRLs: java.security.cert.CertPathValidatorException: OCSP response error: UNAUTHORIZED
    network: Cacheeintrag gefunden [URL: http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl, Version: null] prevalidated=false/0
    cache: Adding MemoryCache entry: http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl
    cache: Resource http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl has expired.
    network: Verbindung von http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl mit Proxy=HTTP @ internet-proxy.***:80 wird hergestellt
    network: Verbindung von http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl mit Proxy=HTTP @ internet-proxy.***:80 wird hergestellt
    network: ResponseCode für http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl: 200
    network: Codierung für http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl: null
    network: Verbindung mit http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl trennen
    CacheEntry[http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl]: updateAvailable=true,lastModified=Tue Mar 24 10:50:01 CET 2015,length=53241
    network: Verbindung von http://crl.serverpass.telesec.de/rl/TeleSec_ServerPass_CA_1.crl mit Proxy=HTTP @ internet-proxy.***:80 wird
    network: Verbindung von socket://ldap.serverpass.telesec.de:389 mit Proxy=DIRECT wird hergestellt
    security: Revocation Status Unknown
    com.sun.deploy.security.RevocationChecker$StatusUnknownException: java.security.cert.CertPathValidatorException: OCSP response error: UNAUTHORIZED
        at com.sun.deploy.security.RevocationChecker.checkOCSP(Unknown Source)
        at com.sun.deploy.security.RevocationChecker.check(Unknown Source)
        at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
        at com.sun.deploy.security.RevocationCheckHelper.doRevocationCheck(Unknown Source)
        at com.sun.deploy.security.RevocationCheckHelper.checkRevocationStatus(Unknown Source)
        at com.sun.deploy.security.X509TrustManagerDelegate.checkTrusted(Unknown Source)
        at com.sun.deploy.security.X509Extended7DeployTrustManagerDelegate.checkServerTrusted(Unknown Source)
        at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
        at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
        at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
        at sun.security.ssl.Handshaker.processLoop(Unknown Source)
        at sun.security.ssl.Handshaker.process_record(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
        at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
        at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
        at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
        at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable(Unknown Source)
        at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown Source)
        at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
        at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
        at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source)
        at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source)
        at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
        at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
        at com.sun.javaws.Main.launchApp(Unknown Source)
        at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
        at com.sun.javaws.Main.access$000(Unknown Source)
        at com.sun.javaws.Main$1.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
        Suppressed: com.sun.deploy.security.RevocationChecker$StatusUnknownException
            at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
            ... 35 more
    Caused by: java.security.cert.CertPathValidatorException: OCSP response error: UNAUTHORIZED
        at sun.security.provider.certpath.OCSP.check(Unknown Source)
        at sun.security.provider.certpath.OCSP.check(Unknown Source)
        at sun.security.provider.certpath.OCSP.check(Unknown Source)
        ... 36 more
    security: Ungültiges Zertifikat vom HTTPS-Server
    network: Cacheeintrag nicht gefunden [URL: https://my-site.de:80, Version: null]

    Add the JSF Jars to the WEB-INF/lib directory of the application. If still getting error add to the CLASSPATH variable in the startWebLogic script in the domain/bin directory.

Maybe you are looking for

  • Is it possible to post the Excise invoice previous month date.

    Dear All, We want to post a excise invoice with previous month date. Is that possible? We have created a billing document (VF01) last month (October) and not created Excise Invoice (J1IIN). Now our finance people requirement is to create the excise i

  • 3.0.0RC2 weird behavior

    After upgrading to 3.0.0RC2, I am seeing a strange error in one of my tests. I am using the JCA resource adapter with LocalTransaction and TransactionMode=managed. The EJB method InventorySessionBean.getInventoryEntityByKey() is just reading a PC obj

  • MOUSE FROZEN - CURSOR GONE!!

    I have a big problem now with a frozen mouse and disappeared cursor! While in Mac OS 9.2.2, not Classsic, a full verison of 9.2.2, (although version 10.2.8 is also installed), I was just trying to drag and drop about 19 files totalling about 31 GB of

  • Duplicate text in an email

    Just upgraded from Curve 8520 to Curve 9360, and I'm a little disappointed at the moment. Firstly, the battery doesn't last half as long, and secondly, its sending duplicate text in an email. eg, is I send an email saying : Hi, how are you?. What it

  • Powerview print all content at a time

    while printing PowerView table, I am facing one problem i.e. If a table having much data (more than screen) that we have to scroll down, then I am not able to print it in one shot. As in PowerPivot, we have Excel sheet, it can grow as per the data. S