Se você fizer isso via linha de comando, você está realmente lançando outro programa executável ("java"), então você não pode ter nenhum controle sobre ele.
O que você precisa é de um serviço (no Windows) ou de um daemon (no Linux) que possa receber solicitações e processá-las; sem conhecer os aspectos internos do que o aplicativo Java está fazendo, não há solução que possamos fornecer.
Atualizar
strongmente depende do que o aplicativo está fazendo.
É perfeitamente possível ter um aplicativo Java em execução como um serviço e processar solicitações, por exemplo, escutando-os em um soquete de rede e retornando sua saída pelo mesmo soquete.
Um servidor de aplicativos Java (como o Tomcat) geralmente está envolvido na geração dinâmica de páginas da Web, e não no processamento de dados "puro".
De qualquer forma, o aplicativo Java deve ser reprojetado para funcionar assim; você não pode simplesmente pegar algo que queira ser chamado para uma única execução via linha de comando e usá-lo como um serviço de back-end sem qualquer modificação.