Page 1 of 2

Installing OnePACS Gateway on a drive other than c:

Posted: Thu Sep 13, 2012 12:03 am
by kgoodarzi
Hello,

Does anyone know how to install the OnePACS gateway on D:\ drive? Or at least have the data files, DB, and the studies reside on D:?

Thanks,

Kamy

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Sep 13, 2012 3:02 am
by john (from OnePacs)
The main gateway directory currently needs to be on c:

However it is possible to configure the gateway so the imaging studies are stored on a different drive.

The database actually does not take up much space. The overwhelming majority of disk space used by the gateway involves the actual DICOM data for the studies. The database just stores some information about the studies and is very small.

If what you're interested in doing is moving the data off onto a different drive or device so as to not be limited by the available space on c:, moving the file system for storing the DICOM data to a different directory would do this. Can you let me know if this would work for you and we can post instructions.

Thanks

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Sep 13, 2012 8:26 am
by kgoodarzi
Yes, that would work for me. Thanks,

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Sep 13, 2012 9:17 am
by justin
Kamy,

Please refer to the following instructions under "Adding additional storage directories".

http://wiki.onepacsforums.com/doku.php? ... irectories

Once you create a new storage directory, it will stop using the default directory (C:\onepacs\server\default\archive) in favor of the new directory. If the new directory were to fill up, it would switch back to the default directory.

Thanks,

Justin

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Fri Sep 14, 2012 7:22 pm
by kgoodarzi
Hi Justin,

I following the instructions and restarted the service, but still posts images to the C:\. I am assuming in the second part by "Enter archive for dirPath you mean the directory I created for storing the images. Can you shed some light on this?

Thanks,

Kamy



By default OnePacs Gateway stores DICOM files in c:\onepacs\gateway\server\default\archive. If this is undesirable, you may add a new primary storage directory by performing the following steps:

Log into JMX console
Go to FileSystemMgt
Find the addFileSystem function
Enter the desired dirPath (ex: D:\images)
Enter the primary AE title of the gateway (ex. MYAET-12345)
Enter availability of ONLINE
Enter status of RW+
Press invoke

Now change the status of the default storage directory to only be used as a backup by executing the following steps:

Click the return to MBean link
Find the updateFileSystemStatus function
Enter archive for dirPath
Enter RW for availability
Click Invoke

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Mon Sep 17, 2012 6:13 pm
by justin
Kamy,

Yes, dirPath should be the directory you created to hold the images.

Make sure that the filesystem you created has a status of RW+ (the plus indicates it is the active filesystem). I notice the instructions you posted say to set the availability to RW for the old filesystem - that should be status, not availability. I updated the wiki to reflect this.

One simple way to confirm what filesystem is active is to invoke the "listAllFileSystems" function and verify that the new directory has a status of RW+.

Justin

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Wed Sep 19, 2012 9:41 am
by kgoodarzi
Thanks Justin. I shall try that today.

Best,

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Oct 18, 2012 12:08 pm
by kgoodarzi
Hi Justin,
I tried everything per your instructions and stop/start the onepacs serice. I still cannot see the images routing to the new directory d:\onepacs\images. Here is what I get when invoking showAllFileSystem().
FileSystem[pk=1, archive, groupID=ONLINE_STORAGE, aet=SCFH001-KG8Q7, ONLINE, RW+, userinfo=null]
FileSystem[pk=2, d:\onepacs\images, groupID=ONLINE_STORAGE, aet=SCFH001-KG8Q7, ONLINE, RW+, userinfo=]
FileSystem[pk=4, archive-SCFB003-22B4J, groupID=ONLINE_STORAGE, aet=SCFB003-22B4J, ONLINE, RW+, userinfo=null]
FileSystem[pk=3, archive-SCFR002-ELA86, groupID=ONLINE_STORAGE, aet=SCFR002-ELA86, ONLINE, RW+, userinfo=null]

Does it look correct? Thanks,

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Oct 18, 2012 1:57 pm
by jeremy
KG -
Your file system output does not look correct.

I would expect out similar to

FileSystem[pk=1, archive, groupID=ONLINE_STORAGE, aet=EXGATEWAYAET1, ONLINE, RW, userinfo=null]
FileSystem[pk=2, C:/images, groupID=ONLINE_STORAGE, aet=EXGATEWAYAET1, ONLINE, RW+, userinfo=]

where C:/images is the new location of the new storage.

You seem to have multiple storage locations setup for multiple AE Titles and all are marked as RW+ . The old file system should have been marked as RW instead per these listed instructions.
The AE Title entered for the file system should be the main AE Title for the Gateway (The one entered when configuring the facility and running the gateway setup).

Find the updateFileSystemStatus function
Enter archive for dirPath
Enter RW for status

When invoked, the updateFileSystemStatus should return and print true.

Regards,
Jeremy

Re: Installing OnePACS Gateway on a drive other than c:

Posted: Thu Oct 18, 2012 2:24 pm
by kgoodarzi
Yes, I do have multiple AE Titles associated with this gateway. I followed your latest instructions and receive the following error message:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Failed to invoke operation
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:269)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


root cause

javax.management.MBeanException
org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:180)
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:163)
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258)
org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:262)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


root cause

javax.ejb.ObjectNotFoundException: No such entity!
org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:64)
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:604)
org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:315)
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:236)
org.jboss.ejb.EntityContainer.findSingleObject(EntityContainer.java:1099)
org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:676)
sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.invocation.Invocation.performCall(Invocation.java:359)
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1126)
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:189)
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:136)
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:378)
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:145)
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:521)
org.jboss.ejb.Container.invoke(Container.java:981)
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:359)
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
$Proxy125.findByDirectoryPath(Unknown Source)
org.dcm4chex.archive.ejb.session.FileSystemMgtBean.updateFileSystem(FileSystemMgtBean.java:306)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.invocation.Invocation.performCall(Invocation.java:359)
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
org.jboss.ejb.Container.invoke(Container.java:960)
sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
$Proxy187.updateFileSystem(Unknown Source)
org.dcm4chex.archive.mbean.FileSystemMgtService.updateFileSystem(FileSystemMgtService.java:1537)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258)
org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:262)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100)
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)