Hi Andy, Thank you for your answer. I have added a few questions below [Loic1]
> Hi, > > 1/ I currently only support a single persistent location: this.model = > TDBFactory.createModel(getPersistentLocation ()); for my TDB Model. > [Andy]: (minor) It is better to use Datasets, not Models. >> [Loic1]: Is this to avoid the hidden, shared dataset? Are you suggesting I do >> TDBFactory.createDataset(Location) and get the Default Model instead? Thanks for >> clarifying the extent of your comment so that I make sure I have the right >> architecture. > My > Model is serving requests from many clients concurrently. > Some earlier posts seem to recommend that for a single location, there > should only be a single instance of the Model always up and running that > serve all client's requests (with TDB.sync on update). > -> I would like to confirm that this is the best practice. There must only be one database engine per location ... but TDBFactory sorts that out for you. If you ask TDBFactory for a dataset (or model) at a location, it returns a suitably shared instance. The actual Java object will be different but internally it refers to the shared objects. Use from multiple JVMs is not supported (use Fuseki). > 2/ While I implemented MRSW, it sounds that there should be some common > knowledge on best practices. I have seen this > https://cwiki.apache.org/confluence/display/JENA/TxTDB but this is > incomplete at this stage. > -> Any documentation/sample written on this? TDB trunk (v0.9.0) is transactional if you ask for a transactional dataset. In 0.9.0, existing usage will act as before; you need to ask for a transactional database. http://openjena.org/wiki/TDB/Transactions shows the internal APIs - there will be (actually,there is in trunk/) TDBFactoryTxn. This will be in the next release, along with documentation. >> [Loic1] OK, great. Thank you. Just got the code out of Trunk. Is there a planned dated for 0.9.0 so that I know if this >> would be suitable for us? Andy > > Thanks for your help, > ~Loic
