TestNode is define this way

create class TestNode extends V

create property TestNode.uuid String

create index TestNode.index on TestNode(uuid) UNIQUE



On Monday, March 17, 2014 1:05:21 PM UTC-4, Dodong Juan wrote:
>
> A quick code ..
>
>
>
>
> import java.util.HashMap;
>
> import java.util.concurrent.BlockingQueue;
>
> import java.util.concurrent.LinkedBlockingQueue;
>
> import java.util.concurrent.ThreadPoolExecutor;
>
> import java.util.concurrent.TimeUnit;
>
>
> import com.tinkerpop.blueprints.Vertex;
>
> import com.tinkerpop.blueprints.impls.orient.OrientBaseGraph;
>
> import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory;
>
> import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx;
>
> import com.tinkerpop.blueprints.impls.orient.OrientVertex;
>
>
> public class TestConnection
>
> {
>
>
>  private static final String url = "remote:localhost/testdb";
>
> private static final String user = "admin";
>
> private static final String pass = "admin";
>
>
>  OrientGraphFactory graphFactory;
>
>
>  private static final ThreadLocal<OrientGraphNoTx> graphNoTx = 
> newThreadLocal<OrientGraphNoTx>();
>
> private int counter = 0;
>
>
>  public TestConnection()
>
> {
>
> graphFactory = new OrientGraphFactory(url, user, pass);
>
> }
>
>
>  public OrientGraphNoTx getDB()
>
> {
>
> if (graphNoTx.get() == null)
>
> {
>
> graphNoTx.set(graphFactory.getNoTx());
>
> }
>
>
>  return graphNoTx.get();
>
> }
>
>
>  public synchronized String getId()
>
> {
>
> counter++;
>
> return "ID: " + counter;
>
> }
>
>
>  public Vertex query(OrientBaseGraph graph, String uuid)
>
> {
>
> Vertex ret = null;
>
>
>  Object rec = 
> graph.getRawGraph().getMetadata().getIndexManager().getIndex(
> "TestNode.index").get(uuid);
>
>
>  if (rec != null)
>
> {
>
> ret = graph.getVertex(rec);
>
> }
>
>
>  return ret;
>
> }
>
>
>  public Vertex saveNode(OrientBaseGraph graph)
>
> {
>
> String id = this.getId();
>
>
>  Vertex v = query(graph, id);
>
> if (v == null)
>
> {
>
> HashMap<String, Object> prop = new HashMap<String, Object>();
>
>
>  prop.put("uuid", id);
>
> prop.put("createTime", System.currentTimeMillis());
>
> prop.put("updateTime", System.currentTimeMillis());
>
> v = graph.addVertex("class:TestNode", prop);
>
>
>  }
>
>
>  return v;
>
> }
>
>
>  public static void main(String[] args)
>
> {
>
> final TestConnection tc = new TestConnection();
>
> BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<Runnable>();
>
>
>  ThreadPoolExecutor tp = new ThreadPoolExecutor(10, 40, 30, TimeUnit.
> SECONDS, workQueue);
>
>
>  for (int count = 0; count < 1000; count++)
>
> {
>
> System.out.println("Running : " + count);
>
>
>  if (tp.getActiveCount() > 40)
>
> {
>
> try
>
> {
>
> Thread.sleep(100);
>
> } catch (InterruptedException e)
>
> {
>
> // TODO Auto-generated catch block
>
> e.printStackTrace();
>
> }
>
>
>  }
>
>
>  Thread t = new Thread()
>
> {
>
> public void run()
>
> {
>
> OrientGraphNoTx graph = tc.getDB();
>
>
>  OrientVertex v1 = (OrientVertex) tc.saveNode(graph);
>
> OrientVertex v2 = (OrientVertex) tc.saveNode(graph);
>
> v1.addEdge(null, v2, "CONNECT");
>
> graph.shutdown();
>
>
>  }
>
>
>  };
>
>
>  tp.execute(t);
>
>
>  }
>
>
>  }
>
>
>  }
>
>
> On Monday, March 17, 2014 11:52:10 AM UTC-4, Dodong Juan wrote:
>>
>> yes .. 1.7-rc2 ..
>> I will create a test case ..
>>
>> On Monday, March 17, 2014 11:40:39 AM UTC-4, Andrey Lomakin wrote:
>>>
>>> I would appreciate if you provide test case.
>>> You use 1.7-rc2, right ?
>>>
>>>
>>> On Mon, Mar 17, 2014 at 5:34 PM, Dodong Juan <[email protected]> wrote:
>>>
>>>> In my case, If I do shutdown on the graph, I get an exception of 
>>>> IllegalStateException: Database is closed.
>>>>
>>>> This is 
>>>>
>>>>
>>>> On Monday, March 17, 2014 7:24:22 AM UTC-4, Andrey Lomakin wrote:
>>>>
>>>>> You should use shutdown as usual to put connection back to the pool.
>>>>> And call close only during application shutdown.
>>>>>
>>>>>
>>>>> On Mon, Mar 17, 2014 at 1:14 PM, <[email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> A have implemented a connection pool based on this: 
>>>>>> http://www.orientechnologies.com/new-orientdb-graph-factory/
>>>>>>
>>>>>>    OrientGraphFactory factory = new 
>>>>>> OrientGraphFactory("plocal:/var/www/data/" 
>>>>>> + tenant).setupPool(1, 10);
>>>>>>    ...
>>>>>>    OrientGraph graph = factory.getTx();
>>>>>>
>>>>>> The documentation implies that calling factory.close() to free 
>>>>>> resources, can that that right?
>>>>>>
>>>>>> Should I not be able to close/return one graph (graph.close() / 
>>>>>> graph.release()) at a time?
>>>>>>
>>>>>> Thank you,
>>>>>>   -Stefán
>>>>>>
>>>>>> -- 
>>>>>>
>>>>>> --- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "OrientDB" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>>
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Best regards,
>>>>> Andrey Lomakin.
>>>>>
>>>>> Orient Technologies
>>>>> the Company behind OrientDB
>>>>>
>>>>>   -- 
>>>>
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "OrientDB" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Best regards,
>>> Andrey Lomakin.
>>>
>>> Orient Technologies
>>> the Company behind OrientDB
>>>
>>> 

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to