use a plain start event.
you have to write a (jms) message listener, capture the message in a java variable.
then you can build up the map of variables from the message that you receive. you can choose to put the whole message in there or just specific values from the message.
then you can supply that variable map in the startProcessInstanceByKey method invocation.
in the future we'll add convenience support for this kind of construct but we don't have that for now.