[EJB 3.0] - getter/setter for ArrayList embedded in HashMap
by peiguo
I original posted this in WS forum, but I found there were many posts there with zero reply, so I just reposted it here.
My question really comes down to whether I can write getter/setter for the ArrayList embedded in the HashMap.
Original Post:
I have getter/setter defined for properties, but still cannot send object of this class through WS, because the JBOSS generated WSDL doesn't include correct information for ArrayList. How can I correct this?
|
| package org.jboss.tutorial.webservice.bean;
|
| import java.util.*;
| import java.io.*;
|
| public class Something {
| private int a;
| private double b;
|
|
| private HashMap<String, ArrayList<String>> c;
|
| public Something() {
| a = 1;
| b = 2.0;
| c = new HashMap<String, ArrayList<String>>();
| {
| ArrayList<String> arr = new ArrayList<String>();
| arr.add("This is fun");
| arr.add("Interesting");
| arr.add("What is this?");
| c.put("thought", arr);
| }
| {
| ArrayList<String> arr = new ArrayList<String>();
| arr.add("Kaveh");
| arr.add("David");
| arr.add("Costa");
| c.put("name", arr);
| }
| {
| ArrayList<String> arr = new ArrayList<String>();
| arr.add("green apple");
| arr.add("orange orange");
| arr.add("yellow mango");
| c.put("fruit", arr);
| }
| {
| ArrayList<String> arr = new ArrayList<String>();
| arr.add("they shoot horse");
| arr.add("sleppless in seattle");
| arr.add("thank you for smoking");
| c.put("movie", arr);
| }
| }
|
| public int getA() {
| return a;
| }
|
| public void setA(int a) {
| this.a = a;
| }
|
| public double getB() {
| return b;
| }
|
| public void setB(double b) {
| this.b = b;
| }
|
| public HashMap<String, ArrayList<String>> getC() {
| return c;
| }
|
| public void setC(HashMap<String, ArrayList<String>> c) {
| this.c = c;
| }
|
| public ArrayList<String> getC(String i) {
| return c.get(i);
| }
|
| public void setC(String i, ArrayList<String> c) {
| this.c.put(i, c);
| }
|
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148414#4148414
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148414
17 years, 11 months
[JBoss Tools (users)] - TestNG/SeamTest embedded server start error
by bmkealu
Eclipse 3.3.2, JBoss Tools 2.0.1, Seam 2.0.1, TestNG plugin 5.8.0.2
Created a Seam web project using Eclipse/JBoss Tools - no EJBs, only POJOs. Created object and corresponding DAO. In the Test project created by Eclipse/JBossTools, created a test class that inherits from SeamTest. When I try to run the test (Run As - TestNG test), I get the following:
ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Real: name=vfsjar:file:/C:/TAS/Projects/TAS_TSSE_WebJ/WebContent/WEB-INF/lib/jboss-seam.jar!/ state=PostClassLoader mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying jboss-seam.jar: Error creating ejb container TimerServiceDispatcher: Container jboss.j2ee:jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3,VMID=538aacb32d71ff29:-6ec77a08:119aaa5ce6f:-8000 + is already registered
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:158)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:88)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506)
at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:127)
at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:289)
at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:19)
at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1041)
at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:935)
at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923)
at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:398)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:145)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:82)
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:167)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)
at org.testng.TestRunner.runWorkers(TestRunner.java:712)
at org.testng.TestRunner.privateRun(TestRunner.java:582)
at org.testng.TestRunner.run(TestRunner.java:477)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
at org.testng.SuiteRunner.run(SuiteRunner.java:198)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
at org.testng.TestNG.run(TestNG.java:708)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
Caused by: org.jboss.deployers.spi.DeploymentException: Error creating ejb container TimerServiceDispatcher: Container jboss.j2ee:jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3,VMID=538aacb32d71ff29:-6ec77a08:119aaa5ce6f:-8000 + is already registered
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:540)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:486)
at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:468)
at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:434)
at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:376)
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:145)
... 44 more
Caused by: java.lang.IllegalStateException: Container jboss.j2ee:jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3,VMID=538aacb32d71ff29:-6ec77a08:119aaa5ce6f:-8000 + is already registered
at org.jboss.ejb3.Ejb3Registry.register(Ejb3Registry.java:128)
at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:536)
... 49 more
Failed to invoke @Configuration method org.jboss.seam.mock.SeamTest.init:Summary of incomplete deployments
Nothing turned up in a google search, and I don't have any other servers running. Any ideas?
Thanks in advance.
aimee
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148406#4148406
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148406
17 years, 11 months
[JBoss Cache: Core Edition] - Re: eviction, clustering without cacheloader
by nnnnn
Hmmm. Probably won't quite work for us - we need the timeToLiveSeconds behavior in LRU policy. To mimic that, we'd need to set a new ExpirationPolicy time on every get, which would kill performance (due to replication).
One thing that I'm thinking is adding a ClusteredCacheLoader. So if one server evicts too soon (due to node having been read on a different server recently), the ClusteredCacheLoader will get it from the other cache. When a node is evicted on all servers in the cluster, then it's when we really wanted to evict.
Does that sound like it might work? Question about ClusteredCacheLoader, since I've never used it. If we've got 4 servers in the cluster, and a node has been evicted from 3 of them, are we okay? Does the ClusteredCacheLoader search all other servers in the cluster until it finds the node?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148397#4148397
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148397
17 years, 11 months