Installing OnePACS Gateway on a drive other than c:

Historical record of a forum that was for discussion of the setup, configuration, and use of OnePacs for research and educational purposes (non-clinical use).

Please direct any support inquiries through the standard OnePacs ticketing and support system.

The "Announcements" forum will continue to be active and contain announcements related to the OnePacs system.
kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

Installing OnePACS Gateway on a drive other than c:

Post by kgoodarzi » Thu Sep 13, 2012 12:03 am

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

john (from OnePacs)
Posts: 195
Joined: Wed Jun 20, 2012 5:14 am

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

Post by john (from OnePacs) » Thu Sep 13, 2012 3:02 am

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

kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

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

Post by kgoodarzi » Thu Sep 13, 2012 8:26 am

Yes, that would work for me. Thanks,

justin
Posts: 371
Joined: Wed Nov 26, 2008 2:34 pm

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

Post by justin » Thu Sep 13, 2012 9:17 am

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

kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

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

Post by kgoodarzi » Fri Sep 14, 2012 7:22 pm

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

justin
Posts: 371
Joined: Wed Nov 26, 2008 2:34 pm

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

Post by justin » Mon Sep 17, 2012 6:13 pm

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

kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

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

Post by kgoodarzi » Wed Sep 19, 2012 9:41 am

Thanks Justin. I shall try that today.

Best,

kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

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

Post by kgoodarzi » Thu Oct 18, 2012 12:08 pm

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,

jeremy
Posts: 140
Joined: Wed Nov 26, 2008 8:34 am

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

Post by jeremy » Thu Oct 18, 2012 1:57 pm

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

kgoodarzi
Posts: 50
Joined: Wed Oct 12, 2011 11:44 am

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

Post by kgoodarzi » Thu Oct 18, 2012 2:24 pm

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)

Locked