Anonymous | Login | Signup for a new account | 12-17-2024 08:41 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0003876 | [Quercus] | minor | always | 02-04-10 15:02 | 02-04-10 15:35 | ||||
Reporter | domdorn | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 4.0.4 | ||||||
Summary | 0003876: java_bean and jndi_lookup don't work in glassfish v3 | ||||||||
Description |
java_bean and jndi_lookup don't work in glassfish v3. Also, those methods are only in full resin.jar (13M) and are highly dependent on resin app server. this code prints the following, when having resin.jar, resin-kernel.jar and qercus.jar in /WEB-INF/lib $arr = Array( "java" , "java_class" , "jndi_lookup" , "quercus_get_request" , "quercus_get_bean" , "quercus_get_beans" , "quercus_get_servlet_context" , "quercus_var_dump" , "resin_var_dump" , "java_bean" , "java_beans" ); foreach($arr as $values) { echo "function: $values: "; echo var_dump ( function_exists($values)); echo " \n"; } result: function: java: bool(true) function: java_class: bool(true) function: jndi_lookup: bool(true) function: quercus_get_request: bool(true) function: quercus_get_bean: bool(false) function: quercus_get_beans: bool(false) function: quercus_get_servlet_context: bool(true) function: quercus_var_dump: bool(false) function: resin_var_dump: bool(true) function: java_bean: bool(true) function: java_beans: bool(false) However, lookup of java_beans registered with CDI do not work as expected: echo "aaa"; $object = java_bean("testBean"); var_dump($object); print_r($object); echo "<hr/>"; echo "bbb"; $object = jndi_lookup("java:app/testBean"); var_dump($object); print_r($object); echo "<hr/>"; echo "ccc"; $beanManager = jndi_lookup("comp/BeanManager"); var_dump($beanManager); echo "eeee"; $object = my_java_bean("testBean"); echo " "; echo "var_dump: " . var_dump($object); echo " "; echo "print_r : " . print_r($object); echo " "; echo $object->getMessage(); echo "<hr/>"; prints: aaaNULL bbbNULL cccNULL eeee var_dump: resource(com.dominikdorn.lyrix.TestBean@18481697) print_r : resource(com.dominikdorn.lyrix.TestBean@18481697)1 Hello World code of my_java_bean() is: function my_java_bean($name) { $beanManager = quercus_get_servlet_context()->getAttribute("javax.enterprise.inject.spi.BeanManager"); $beans = $beanManager->getBeans($name); if($beans == null || count($beans) < 1) return null; $object = $beanManager->getReference($beans[0], $beans[0]->getClass(), $beanManager->createCreationalContext($beans[0])); return $object; } I'm using latest trunk (rev. 6727) |
||||||||
Additional Information |
|
||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
30 total queries executed. 26 unique queries executed. |