Size: a a a

2020 January 14

d

dima in pro.flood
и мне не нужно будет это протаскивать через параметры метода
источник

d

dima in pro.flood
и например, таким же образом я смогу сохранить юзера из секьюрити контекста
источник

LV

Lena Varlamova in pro.flood
Aλexander
че не коннисег?
источник

d

def pl = 🦉 in pro.flood
dima
я хочу контекст, чтобы допустим зачейнить userRepository.rxSave(user), orderRepository.rxSave(order);
А, стоп ты сейчас о какой-то кастомной транзакциии говоришь?
источник

d

dima in pro.flood
def pl = 🦉
А, стоп ты сейчас о какой-то кастомной транзакциии говоришь?
источник

d

def pl = 🦉 in pro.flood
Не транзакции на уровне базы данных
источник

d

dima in pro.flood
def pl = 🦉
Не транзакции на уровне базы данных
да
источник

d

dima in pro.flood
SQLClientHelper.inTransactionSingle(client, sqlConnection -> {
 return sqlConnection.rxExecute("INSERT INTO albums (name) VALUES ('The Israelites')")
   .andThen(sqlConnection.rxExecute("INSERT INTO tracks (album, name) VALUES ('The Israelites', 'Israelites')"))
   .andThen(sqlConnection.rxExecute("INSERT INTO tracks (album, name) VALUES ('The Israelites', 'Too Much Too Soon')"))
   .andThen(sqlConnection.rxQuery("SELECT name FROM tracks WHERE album = 'The Israelites'").map(ResultSet::getResults))
}).map(rows -> {
 // Transform DB rows into a client-friendly JSON object
}).subscribe(json -> {
 // Send JSON to the client
}, t -> {
 // Send error to the client
});
источник

d

dima in pro.flood
а теперь представь, что у тебя внутри не низкоуровневое апи
источник

d

dima in pro.flood
а 3 репозитория разных
источник

d

dima in pro.flood
или 3 сервиса
источник

d

dima in pro.flood
и всем им нужна общая транзакция
источник

O

Orrostumaðr in pro.flood
Aλexander
привет. че делаешь
Ем рафаэлки
источник

d

dima in pro.flood
как ты сказал - можно передать через параметры метода и это будет работать
источник

A

Aλexander in pro.flood
Orrostumaðr
Ем рафаэлки
мажор
источник

O

Orrostumaðr in pro.flood
dima
SQLClientHelper.inTransactionSingle(client, sqlConnection -> {
 return sqlConnection.rxExecute("INSERT INTO albums (name) VALUES ('The Israelites')")
   .andThen(sqlConnection.rxExecute("INSERT INTO tracks (album, name) VALUES ('The Israelites', 'Israelites')"))
   .andThen(sqlConnection.rxExecute("INSERT INTO tracks (album, name) VALUES ('The Israelites', 'Too Much Too Soon')"))
   .andThen(sqlConnection.rxQuery("SELECT name FROM tracks WHERE album = 'The Israelites'").map(ResultSet::getResults))
}).map(rows -> {
 // Transform DB rows into a client-friendly JSON object
}).subscribe(json -> {
 // Send JSON to the client
}, t -> {
 // Send error to the client
});
источник

d

dima in pro.flood
SQLClientHelper.inTransactionSingle(client, tx -> Single.zip(userRepo.rxSave(user, tx), orderRepo.rxSave(order, tx), (user, order) -> )
источник

d

dima in pro.flood
но это грязь
источник

d

def pl = 🦉 in pro.flood
dima
и всем им нужна общая транзакция
Ну это минимум странно. Я думаю такие проблемы только с плохим дизайном могут быть. Хороший дизайн это когда у тебя есть даошка, и ты в ней пишешь нужные тебе запросы
источник

d

dima in pro.flood
def pl = 🦉
Ну это минимум странно. Я думаю такие проблемы только с плохим дизайном могут быть. Хороший дизайн это когда у тебя есть даошка, и ты в ней пишешь нужные тебе запросы
да почему
источник