Como eu gero números aleatórios em uma matriz que somam um total definido?

Eu preciso gerar aleatoriamente um array com 7 slots em Java. Todos esses slots devem ter um valor de pelo menos 1, mas, combinados, têm um valor total de outro número definido. Eles também precisam ser um valor int, sem números 1,5 ou 0,9816465684646. Exemplo:

int a=10;

int[] ar = new int[7]
ar[0] = 1
ar[1] = 1
ar[2] = 2
ar[3] = 2
ar[4] = 1
ar[5] = 2
ar[6] = 1

Eu quero gerar algo assim, mas se int a = 15, todos os números totalizariam 15 em qualquer ordem

questionAnswers(4)

yourAnswerToTheQuestion