I understand from reading Gelman and Hill that for a multilevel model such as this one
$$ y_i \sim N(\alpha_j + \beta X, \sigma^2) $$
$$ \alpha_j \sim N(\mu, \tau^2) $$
The $\alpha_j$ group-level intercept is a weighted average of the overall mean of the groups, $\mu$, and the deviation within the group (Gelman & Hill, p. 253). However, I am confused about how this $$ \alpha_j = \frac{(n_j/\sigma^2_y)\bar{y}_j + (1/\sigma^2_{\alpha})y_{all}}{(n_j/\sigma^2_y) + (1/\sigma^2_{\alpha})} $$
arises from the specification. Isn't $$ \alpha_j \sim N(\mu, \tau^2) $$ saying that you are taking a random draw from a normal distribution with mean $\mu$ and variance $\tau^2$, in which case, wouldn't each $\alpha_j$ be estimated randomly rather than from the data, even if $\mu$ is estimated as the average across all the responses for the different groups? Why does this specification make sense instead of simply expressing $\alpha_j$ as a weighted average?