Какой-либо способ совместно использовать состояние сеанса между различными приложениями у кота?

Я согласен с комментарием Стивена Хендерсона о том, что вы не должны использовать столбцы списка, если вы не абсолютно уверены, что они являются лучшим способом решения вашей конкретной проблемы. При этом, если вы решите использовать столбцы списка, вы можете рассмотреть возможность использования столбцов вместо фреймов данных. Tibbles - это «обновление» обычных фреймов данных. Они являются частью Tidyverse и входят в пакет tibble.

Tibbles облегчают создание столбцов списка:

tibble(x = 1:3, y = list(1:5, 1:10, 1:20))

#> # A tibble: 3 x 2
#>       x y         
#>        
#> 1     1  
#> 2     2 
#> 3     3 

Более того, вы можете «упаковывать» и «распаковывать» списки столбцов, используя команды nest и unnest из tidyr пакет. Например:

df <- tibble(
  x = 1:3,
  y = c("a", "d,e,f", "g,h")
)
df %>%
  transform(y = strsplit(y, ",")) %>%
  unnest(y)

Для получения дополнительной информации о тибле вы можете обратиться к этой виньетка .

51
задан zb226 4 April 2017 в 04:37
поделиться

4 ответа

Вы не должны совместно использовать HttpSession; но можно совместно использовать другие объекты. Например, Вы можете регистрировать объект через JNDI и получать доступ к тому же объекту во всех Ваших приложениях (базы данных используют это для объединения соединений).

26
ответ дан Aaron Digulla 7 November 2019 в 10:20
поделиться

Одна вещь знать состоит в том, что два веб-приложения будут использовать другой classloaders. Если Вы хотите совместно использовать объекты, они должны использовать ту же версию класса от того же classloader (или иначе Вы получите LinkageErrors). Это означает любое помещение их в classloader, совместно использованном обоими веб-приложениями (системный путь к классу, например) ИЛИ использование сериализации эффективно истощать и воссоздавать объект в праве classloader с правильной версией класса.

23
ответ дан Alex Miller 7 November 2019 в 10:20
поделиться

Если к веб-приложениям так тесно связаны, что они должны совместно использовать объекты, почему Вы разделяете его в два? Даже при управлении ими, несколько независимо любая достойная система управления сборками должна быть в состоянии создать единственный ВОЕННЫЙ файл для развертывания.

решение для А как Aaron предлагает с JNDI, будет работать, но только если оба веб-приложения работают на том же сервере. Если единицы сильно связываются, и Вы собираетесь быть выполнением, оно на том же сервере так или иначе... могло бы также иметь единственную ВОЙНУ

, Если бы Вы действительно хотите, чтобы они стояли независимо, я серьезно исследовал бы обмен данными между двумя. Идеально Вы хотели бы, чтобы они только совместно использовали соответствующие данные друг с другом. Эти данные могли быть переданы назад и вперед по почте (или ДОБРАТЬСЯ, если более соответствующий) параметры, Вы могли бы даже рассмотреть использование cookie.

5
ответ дан Kris 7 November 2019 в 10:20
поделиться

Вы не должны разделять свое приложение, тот путь в порядке имеет высокую доступность. Вы могли развернуть целое приложение на многих экземплярах кота.

-1
ответ дан cherouvim 7 November 2019 в 10:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: