Fazer insert dentro da mesma transição no spring batch

Estou realizando um insert durante a etapa de process mas quando chegar no writer e faço outro está dando o seguinte erro, o segundo insert precisa da existencia do primeiro mas pelo oque vejo o commit não está sendo feito.

Estou usando banco de dados postgress.

org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO tb_arq_parcela (id_arqparcela, id_arquivo, dt_posicao, cd_operacao, nu_parcela, dt_vencimento, dt_liquidacao, vl_parcela, vl_rec) VALUES (nextval(?), ?, ?, ?, ?, ?, ?, ?, ?)]; ERROR: insert or update on table "tb_arq_parcela" violates foreign key constraint "tb_arq_tb_arq_prc_fk"
  Detalhe: Key (id_arquivo)=(104) is not present in table "tb_arquivo".; nested exception is org.postgresql.util.PSQLException: ERROR: insert or update on table "tb_arq_parcela" violates foreign key constraint "tb_arq_tb_arq_prc_fk"
  Detalhe: Key (id_arquivo)=(104) is not present in table "tb_arquivo".

Writer:

@Bean("atvProOpeWriter")
    public JdbcBatchItemWriter<AtividadesProgramadasOperacoesOut> save(DataSourceConfig dataSourceConfig) {
        return new JdbcBatchItemWriterBuilder<AtividadesProgramadasOperacoesOut>()
                .dataSource(dataSourceConfig.getDataSource())
                .sql(INSERT_QUERY)
                .itemPreparedStatementSetter(itemPreparedStatementSetter())
                .build();
    }

    private ItemPreparedStatementSetter<AtividadesProgramadasOperacoesOut> itemPreparedStatementSetter() {
        return new ItemPreparedStatementSetter<AtividadesProgramadasOperacoesOut>() {
            @Override
            public void setValues(AtividadesProgramadasOperacoesOut atvProOpe, PreparedStatement ps) throws SQLException {
                ps.setString(1, TABELA_PARCELAS_OPERACOES.getName());
                ps.setLong(2, atvProOpe.getId());
                ps.setDate(3, atvProOpe.getDataMovimento());
                ps.setString(4, atvProOpe.getNumeroOperacao());
                ps.setString(5, atvProOpe.getIdentificadorParcela());
                ps.setDate(6, atvProOpe.getDataVencimentoParcela());
                ps.setDate(7, atvProOpe.getDataLiquidacaoParcela());
                ps.setBigDecimal(8, atvProOpe.getValorParcela());
                ps.setBigDecimal(9, atvProOpe.getValorPago());

            }
        };
    }

Eu modifiquei o processo e fiz todos os processos de inserção no writer e funcionou